【发布时间】:2011-12-16 16:31:57
【问题描述】:
区分相同的整数有点问题。
在下面(这显然是一个微不足道的情况)中,a、b、c 是整数。我希望创建一个字典,diction,其中将包含 {a: 'foo', b: 'bar', c: 'baz'}
diction = {}
for i in (a, b, c):
j = ('foo', 'bar', 'baz')[(a, b, c).index(i)]
diction[i] = j
所有运行都非常好,直到例如 a 和 b 相同:第三行将为 a 和 b 提供索引 0,导致每种情况下的 j = 'foo'。
我知道列表可以被复制
list_a = [1, 2, 3]
list_b = list(list_a)
或
list_b = list_a[:]
那么,有没有什么办法可以用我相同的整数来做到这一点?
(我尝试将其设为浮点数,但值保持不变,因此不起作用。)
【问题讨论】:
-
0_0 如果它们相同,则表示它们无法区分。
-
那么,让我们说
a == 1 and b == 1,diction[1]应该提供什么? -
也许您想按字符串“a”、“b”和“c”而不是它们的值来索引?
标签: python list dictionary indexing equals