【发布时间】:2020-04-24 12:03:15
【问题描述】:
代码的输出是什么:
print({True:'yes', 1:'no', 1.0:'maybe'})
请用答案解释一下
【问题讨论】:
标签: python-3.x dictionary printing
代码的输出是什么:
print({True:'yes', 1:'no', 1.0:'maybe'})
请用答案解释一下
【问题讨论】:
标签: python-3.x dictionary printing
在 Python 字典中,不能有重复的键。在您的情况下,您的字典中的所有键都评估为布尔值 True。
True, 1.0 and 1 all are equal to -> True
所以发生的情况是,首先带有键 True 的值得到一个值“yes”,然后它的值被 'no' 覆盖,最后被 'maybe' 覆盖
因此,您得到的字典只有一个键 True 和值 'maybe'
所以基本上是这样的:
真:'是' ==真:'是'
1:'否' == 真:'否'
1.0:'也许' == 真:'也许'
(因为 1、1.0 和 True 都被评估为布尔值True)
【讨论】: