比方說,我有一個有兩個元素的元組如何使用Python中的字典將元組的兩個元素映射到彼此?
(a, b)
我怎樣才能創建的第一個元素映射到第二所以它看起來像
{a : b}
我試圖
字典new_dict = {tup[0]:tup[1]}
,但我收到
TypeError: unhashable type 'list'
比方說,我有一個有兩個元素的元組如何使用Python中的字典將元組的兩個元素映射到彼此?
(a, b)
我怎樣才能創建的第一個元素映射到第二所以它看起來像
{a : b}
我試圖
字典new_dict = {tup[0]:tup[1]}
,但我收到
TypeError: unhashable type 'list'
您收到的錯誤表示您的密鑰a
是一個不能用作關鍵字的列表。事情是這樣的
(['item'], 'value')
當你可能想要的是
('key', 'value')
通常,字典鍵是字符串,雖然不是嚴格意義上。它們也可以是整數或其他不可變類型。 「不可變」意味着它不能被更新。可以通過添加或刪除項目來更新列表,因此無法正確散列並隨後不能用作關鍵字。
您的錯誤消息表明您的元組的第一項是一個列表。列表是可變的,因此不能是字典鍵,但元組可以。因此,將列表中的可能鍵轉換爲元組:
new_dict = { tuple(tup[0]), tup[1] }
'{tup [0]:tup [1]}'可能是。 –
到目前爲止您嘗試過什麼? – Nurjan
我試過new_dict = {tup [0]:tup [1]}但我收到一個「TypeError:unhashable type'list'」 –