gpt4 book ai didi

python - 在 Python if 语句中使用列表和元组

转载 作者:太空狗 更新时间:2023-10-30 01:09:32 25 4
gpt4 key购买 nike

我想知道在 python if 语句中是否有充分的理由更喜欢列表而不是元组,反之亦然。因此,以下内容在功能上是等效的,但就性能和编码风格而言,一个比另一个更可取还是无关紧要?

if x in (1,2,3):
foo()

if x in [1,2,3]:
foo()

如果有 2 或 3 个值和任何更长的列表,我似乎已经养成了使用元组的习惯,我认为是因为根据我的经验,元组往往很短而列表很长,但这似乎有点武断,可能不必要的不​​一致。

我对人们可以给出的任何一个比另一个更好的例子感兴趣。

干杯

最佳答案

tuple 的初始化(至少在 CPython 中是这样)产生的字节码比 list 少——但这真的没什么好担心的。我相信成员资格测试几乎是一样的(虽然没有测试过)。

对于纯粹的成员资格测试,查找语义是相同的。从 Python 2.7 开始,写起来更好(并暗示它只是成员测试):

if x in {1, 2, 3}:
pass # do something

在此之前:

if x in set([1,2,3]):
pass # do something

只是看起来有点笨拙...

关于python - 在 Python if 语句中使用列表和元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12409457/

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