[英]How do I make a list a key value in a dictionary?
我需要制作一個字典,您可以在其中引用[[1,2],[3,4]]->([1,2]:0,[2,3]:0)我嘗試了不同的方法,但是我不能在字典中使用列表。 所以我嘗試使用元組,但它仍然相同。 任何幫助表示贊賞!
您需要使用元組:
dict.fromkeys((tuple(i) for i in [[1,2],[3,4]]), 0)
或(適用於python2.7 +)
{tuple(i): 0 for i in [[1,2], [3,4]]}
編輯:
閱讀注釋,OP可能希望計算列表的出現次數:
>>> collections.Counter(tuple(i) for i in [[1,2], [1,2], [3,4]])
Counter({(1, 2): 2, (3, 4): 1})
列表不能用作字典鍵,因為它們不可散列(可能是因為它們可以被突變,所以不可能提供一個合理的散列函數)。 tuple
不構成任何問題:
d = {(1,2):0, (3,4):0}
請注意,在您的示例中,您似乎暗示您正在嘗試構建這樣的字典:
((1,2):0, (3,4):0)
那行不通。 您需要大括號才能制作字典。
([1,2]:0, [2,3]:0)
不是字典。 我認為您打算使用: {(1,2):0, (2,3):1}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.