gpt4 book ai didi

python - 集合中的插入顺序(解析 {} 时)

转载 作者:太空狗 更新时间:2023-10-29 18:07:31 29 4
gpt4 key购买 nike

<分区>

有人问here为什么将 1True 放入 set 时只保留 1

这当然是因为1==True。但是在哪些情况下 1 被保留,在哪些情况下 True 被保留?

让我们看看:

传递 list 来构建 set 而不是使用 set 表示法:

>>> set([True,1])
{True}
>>> set([1,True])
{1}

似乎合乎逻辑:set 迭代内部列表,并且不添加第二个元素,因为它等于第一个元素(注意 set([True,1]) 不能产生1,因为set不知道列表里面有什么。它甚至可能不是列表 而是一个 iterable)

现在使用 set 表示法:

>>> {True,1}
{1}
>>> {1,True}
{True}

似乎在那种情况下,项目列表以相反的顺序处理(在 Python 2.7 和 Python 3.4 上测试)。

但这有保证吗?或者只是一个实现细节?

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