gpt4 book ai didi

python - 如果列表仅包含 0,我如何在 python 中打印?

转载 作者:太空宇宙 更新时间:2023-11-03 12:21:15 25 4
gpt4 key购买 nike

如果列表只包含 0,我如何在 python 中打印??

list1=[0,0,0,0,0,0]
if list1 has all 0s
print("something")

我希望输出是“某物”

最佳答案

使用all() :

if all(item == 0 for item in list1):
print("something")

演示:

>>> list1 = [0,0,0,0,0,0]
>>> all(item == 0 for item in list1)
True

另一种选择是使用 sets,如果列表中的所有项目都是可哈希的:

>>> set(list1) == {0}
True

但这会在内存中创建一个集合,并且不会像 all() 那样短路,因此在一般情况下,内存效率低且速度慢。

>>> list1 = [0,0,0,0,0,0]*1000 + range(1000)
>>> %timeit set(list1) == {0}
1000 loops, best of 3: 292 us per loop
>>> %timeit all(item == 0 for item in list1)
1000 loops, best of 3: 1.04 ms per loop

>>> list1 = range(1000) + [0,0,0,0,0,0]*10
>>> shuffle(list1)
>>> %timeit set(list1) == {0}
10000 loops, best of 3: 61.6 us per loop
>>> %timeit all(item == 0 for item in list1)
1000000 loops, best of 3: 1.3 us per loop

关于python - 如果列表仅包含 0,我如何在 python 中打印?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18799441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com