【问题标题】:Why isn't the boolean in my dictionary working? [duplicate]为什么我的字典中的布尔值不起作用? [复制]
【发布时间】:2016-02-22 22:13:50
【问题描述】:

这显然不能正常工作。

为什么会这样?

>>> d = {0 : "a", 1 : "b", 2 : "c", 3 : "d", True: 99}
>>> print d
{0: 'a', 1: 99, 2: 'c', 3: 'd'}
>>>

【问题讨论】:

  • 因为True == 1 是真的。
  • 这是一个重复的、经常遇到的陷阱。你也不能输入False,因为False == 0
  • 或者更确切地说,无论哪种类型首先添加为键,都会获胜; {True: 'boolean', 1: 'integer'} 会给你留下{True: 'integer'}..
  • @DeveloperXY - 呃..它打印True。你的意思是print int(True)
  • @BingsF 确实,感谢您的提醒

标签: python


【解决方案1】:

True == 1。有理由不同意该设计决定,但这就是 Python 中的情况。 (类似地,False == 0。)一个字典中不能有两个相等的键,所以不能在同一个字典中同时拥有True1

【讨论】:

    猜你喜欢
    • 2019-08-14
    • 2015-11-23
    • 1970-01-01
    • 2021-11-18
    • 2010-11-20
    • 2023-04-10
    • 1970-01-01
    • 2017-09-06
    • 1970-01-01
    相关资源
    最近更新 更多