【问题标题】:Can I get lists as keys in a dictionary? [duplicate]我可以将列表作为字典中的键吗? [复制]
【发布时间】:2019-06-15 00:15:13
【问题描述】:

我有一个迭代过程,每次迭代后都会给我一个列表,例如。 a = [1,2,3,4]。 我可以将此列表用作字典的键吗?下一次迭代相同的列表更改元素,例如在第二次迭代之后我有 [2,1,3,4]。我可以构造一个字典 d = {[1,2,3,4]:"value1", [2,1,3,4]:"value2"]}

我试过这样做,但 python 告诉我我不能使用列表来做到这一点。所以我尝试了一个元组,但我无法让它工作。

trylist = (1,2,3,4)   
dictionary = {}
d[trylist] = 'value'
print(dictionary)

预期结果是:d = {[1,2,3,4]:"value1", [2,1,3,4]:"value2"]}

【问题讨论】:

  • 不,字典键不能是列表。在您的代码中,使用dictionary[trylist] = 'value'
  • 非常感谢,我试试看。
  • 当您使用dictionary = {} 时,dictionary 就是您的字典。 d 未在您的代码中定义。我们需要添加到上面创建的字典dictionary,而不是d
  • 我现在不明白了,谢谢。我只是一个初学者,有时我没有注意到一些事情:(我希望这会改变。再次感谢你!

标签: python list dictionary tuples key


【解决方案1】:

不确定这是否适合您,但您可以将列表转换为字符串,以便您可以将其用作字典中的键:

trylist = [1,2,3,4]
d = {}
d[str(trylist)] = 'value'
print(d)

但是使用元组也应该可以:

trylist = (1,2,3,4)
d = {}
d[trylist] = 'value'
print(d)

【讨论】:

  • 谢谢你,我会试试看这是否也有效。我想知道如果我的列表中没有数字,但例如字符串,是否同样适用。我会检查一下谢谢。
猜你喜欢
  • 1970-01-01
  • 2020-04-30
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多