我有一个清单。
l1 = [0, 0, 2, 0]
l2 = [0, 0, 0, 0]
如果列表中包含非零元素,我想打印列表。
输出:
如果通过了一个列表,则只打印包含非零元素的列表。在上面的示例中,只会打印l1。
[0, 0, 2, 0]
我想知道它能有多高的效率。谢谢!
发布于 2017-11-09 14:10:25
在你的列表中使用any
:
for lst in (l1, l2):
if any(lst):
print(lst)
您也可以使用all
for lst in (l1, l2):
if all(x != 0 for x in lst):
print(lst)
我希望这能帮到你。
发布于 2017-11-09 14:05:11
您可以尝试这样做:
lists = [[0, 0, 0, 0],[0, 0, 2, 0]]
for l in lists:
if set(l)=={0}:
pass
else:
print l
发布于 2017-11-09 14:09:11
您可以使用内置函数any()
来自Python的documentation
any(可迭代)
如果iterable的任何元素为true,则返回True。如果iterable为空,则返回False
下面是一个代码:
for l in [l1,l2, ..., ln]:
if any(l):
print(l)
https://stackoverflow.com/questions/47203741
复制