gpt4 book ai didi

python "if len(A) is not 0"与 "if A"语句

转载 作者:太空狗 更新时间:2023-10-29 22:06:16 25 4
gpt4 key购买 nike

我的同事在条件下使用这种方式

if len(A) is not 0:
print('A is not empty')

我更喜欢这个

if A:
print('A is not empty')

什么是正反论点?

她的观点是,第一种方式更直接地展示了她真正想要的东西。我的意思是我的路更短。

还有第一种方法比我的方法快 2 倍:

>>> import timeit
>>> timeit.timeit('len(A) is not 0', setup='A=[1,2,3]')
0.048459101999924314
>>> timeit.timeit('bool(A)', setup='A=[1,2,3]')
0.09833707799998592

但是

>>> import timeit
>>> timeit.timeit('if len(A) is not 0:\n pass', setup='A=[1,2,3]')
0.06600062699999398
>>> timeit.timeit('if A:\n pass', setup='A=[1,2,3]')
0.011816206999810674

第二种方式快 6 倍!我很困惑 if 是如何工作的:-)

最佳答案

PEP 8风格指南对此很清楚:

For sequences, (strings, lists, tuples), use the fact that empty sequences are false.

Yes: if not seq:
if seq:

No: if len(seq):
if not len(seq):

关于python "if len(A) is not 0"与 "if A"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54107609/

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