[英]How can I remove a tuple from a list if the tuple contains two "1" next to each other in Python?
[英]How can I map two elements of a tuple to each other using a dictionary in Python?
假設我有一個包含兩個元素的元組
(a, b)
我如何創建將第一個元素映射到第二個元素的字典,使其看起來像
{a : b}
我努力了
new_dict = {tup[0]:tup[1]}
但我收到一個
TypeError:無法散列的類型“列表”
您收到的錯誤表示您的密鑰a
是一個列表,不能用作密鑰。 像這樣
(['item'], 'value')
當你可能想要的是
('key', 'value')
通常,字典鍵是字符串,盡管並非嚴格如此。 它們也可以是整數或其他不可變的類型。 “不可變”表示無法就地更新。 可以通過添加或刪除項目來就地更新列表,因此無法對其進行適當的哈希處理,因此不能將其用作鍵。
您的錯誤消息表明您的元組的第一項是一個列表。 列表是可變的,因此不能是字典鍵,但元組可以。 因此,將可能的鍵從列表轉換為元組:
new_dict = { tuple(tup[0]), tup[1] }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.