[英]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.