我需要做一個字典,你可以參考[[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})
有沒有辦法改變0?就像,如果你有[[1,2],[1,2],[2,3]]的列表,我需要它返回[[1:2]:2,[2:3]:1] ? – user1828072
@ user1828072當然,只需要寫'1'作爲最後一個參數而不是'0' – JBernardo
並感謝您的快速響應! – user1828072
列表不能用作字典鍵,因爲它們不可散列(可能是因爲它們可能會發生變異,因此不可能提供合理的散列函數)。然而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}
看起來我們在同一時間有同樣的想法 - 但是,你的第二個例子不會工作,因爲你使用列表作爲不會飛的鍵。 – mgilson
對,它看起來像我們也注意到,在同一時間呢!我編輯它來反映。謝謝! –
- 1. 如何從值爲列表的字典中獲取鍵值?
- 2. 字典作爲關鍵值?
- 3. 列表作爲字典的關鍵
- 4. 使用列表值作爲字典鍵作爲鍵val
- 5. 鍵入字典:值爲列表
- 6. 如何打印字典值列表,列表中的一個值,爲每個鍵
- 7. 在R中使用字典/列表:如何從鍵值對中獲取值?
- 8. 從字典的列表轉換一個關鍵字值列出
- 9. Python字典與列表關鍵字
- 10. 關鍵字kwargs字典列表:集對
- 11. 我如何訪問存儲在字典鍵中的列表值?
- 12. 如何訪問列表中存在的字典鍵值?
- 13. 如何從鍵值列表中檢索嵌套字典值?
- 14. 字典的值更改爲一個字典的關鍵在python
- 15. Python3刪除字典鍵如果列表中的值爲空
- 16. 如何在Python字典中插入一個列表作爲鍵
- 17. 如何將字典列表合併爲字典鍵:列表配對?
- 18. 如何得到一個值的值作爲字典的關鍵
- 19. Python:獲取與字典中單個鍵關聯的值列表
- 20. Python:存儲與字典中的鍵相關聯的列表值
- 21. 使用字典作爲其他字典中的關鍵字
- 22. 使用Doxygen生成關鍵字列表
- 23. 追加,平均列表,字典,關鍵
- 24. 如何將具有唯一鍵的字典列表轉換爲值爲列表的字典?
- 25. 字典中最大值的關鍵字
- 26. 字典列表的列表中的鍵值列表?
- 27. Python列表到關鍵字值的字典
- 28. Python字典和字典的列表中的鍵的平均值
- 29. Python在列表中使用相同的鍵添加字典值
- 30. 如何使用基本列表或列表作爲C#中的字典的關鍵字
如果你想使用列表作爲鍵,我認爲你的算法可能有錯誤的實現。 – Serdalis
*所以我嘗試使用元組,但它仍然是相同的*請向我們展示您的代碼! –
*你爲什麼要這樣做?*如果列表的內容不會改變,並且你想在你的代碼中使用內容作爲關鍵字,那麼將列表轉換爲元組並將其用作關鍵字正如其他人所建議的那樣。另一方面,如果您要更改列表的內容,但仍希望能夠將列表映射到字典中的相同值,請在列表中調用id()內置函數,然後使用那個結果作爲你的鑰匙。這是兩種截然不同的用例,您沒有給我們足夠的信息來確定哪種方法可以解決您的問題。 –