【发布时间】: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