为了账号安全,请及时绑定邮箱和手机立即绑定

while all 是啥意思?求解释~

while all 是啥意思?求解释~

陪伴而非守候 2022-05-19 19:15:09
l = [['a', 'b', 'c', 'd'], ['1', '2', '3']]while all(l):print(tuple(s.pop(0) for s in l))while all 是啥意思啊为什么打印出来是('a', '1')('b', '2')('c', '3') 啊我迷茫了啊
查看完整描述

2 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

all(iterable)返回一个布尔值,如果iterable里面含有0或者None,则返回False,否则返回True
while每次循环检查I中的元素,也就是两个子列表,如果其中一个为空(也就是None)则while循环中止。
如果两个子列表都非空,则执行tuple(s.pop(0) for s in I)
也就是返回一个元组,元组中的元素是对I中的每个元素分别执行.pop(0)得到的
第一个子列表出栈'a', 第二个出栈'1', 因此就返回('a', '1')。
while一共循环三次,这时两个子列表同时为空,于是循环停止

查看完整回答
反对 回复 2022-05-23
?
莫回无

TA贡献1865条经验 获得超7个赞

>>> help(all)
Help on built-in function all in module builtins:
all(...)
all(iterable) -> bool
Return True if bool(x) is True for all values x in the iterable.
就是用来遍历容器中每一个元素的。

查看完整回答
反对 回复 2022-05-23
  • 2 回答
  • 0 关注
  • 252 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号