while all 是啥意思?求解释~

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') 啊
我迷茫了啊

陪伴而非守候
浏览 253回答 2
2回答

小唯快跑啊

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

莫回无

>>> help(all)Help on built-in function all in module builtins:all(...)all(iterable) -> boolReturn True if bool(x) is True for all values x in the iterable.就是用来遍历容器中每一个元素的。
打开App,查看更多内容
随时随地看视频慕课网APP