【问题标题】:Problem with python in print function using dictionary [duplicate]使用字典的打印功能中的python问题[重复]
【发布时间】:2020-04-24 12:03:15
【问题描述】:

代码的输出是什么:

print({True:'yes', 1:'no', 1.0:'maybe'}) 

请用答案解释一下

【问题讨论】:

    标签: python-3.x dictionary printing


    【解决方案1】:

    在 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

    【讨论】:

    • “在您的情况下,您的字典中的所有键都评估为布尔值 True。” - 不,它们都散列为 1
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多