gpt4 book ai didi

python - 将数字 1 添加到集合中没有任何效果

转载 作者:太空狗 更新时间:2023-10-29 19:37:53 26 4
gpt4 key购买 nike

我无法将整数 1 添加到现有集合中。在交互式 shell 中,这就是我正在做的:

>>> st = {'a', True, 'Vanilla'}
>>> st
{'a', True, 'Vanilla'}
>>> st.add(1)
>>> st
{'a', True, 'Vanilla'} # Here's the problem; there's no 1, but anything else works
>>> st.add(2)
>>> st
{'a', True, 'Vanilla', 2}

这个问题是两个月前发布的,但我相信它被误解了。我正在使用 Python 3.2.3。

最佳答案

>>> 1 == True
True

我相信你的问题是 1True 是相同的值,所以 1 “已经在集合中”。

>>> st
{'a', True, 'Vanilla'}
>>> 1 in st
True

在数学运算中,True 本身被视为 1:

>>> 5 + True
6
>>> True * 2
2
>>> 3. / (True + True)
1.5

虽然 True 是一个 bool 而 1 是一个 int:

>>> type(True)
<class 'bool'>
>>> type(1)
<class 'int'>

因为 1 in st 返回 True,我认为您应该不会有任何问题。这是一个非常奇怪的结果。如果您有兴趣进一步阅读,@Lattyware 指向 PEP 285这深入地解释了这个问题。

关于python - 将数字 1 添加到集合中没有任何效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10419918/

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