假设我有一个包含两个元素的元组
(a, b)
如何创建将第一个元素映射到第二个元素的字典,使其看起来像
{a : b}
我试过了
new_dict = {tup[0]:tup[1]}
但我收到了一个
TypeError:无法理解的“列表”类型
发布于 2017-06-12 05:35:17
您正在接收的错误意味着您的键a
是一个列表,它不能用作键。就像这样
(['item'], 'value')
当你想要的是
('key', 'value')
通常,字典键是字符串,尽管不是严格意义上的。它们也可以是整数或其他不可变类型。“不可变”意味着不能在适当的地方进行更新。可以通过添加或删除项来更新列表,因此不能正确散列,因此不能将其用作键。
发布于 2017-06-12 05:44:07
错误消息表明元组的第一项是列表。列表是可变的,因此不能是字典键,但元组可以。因此,将预期键从list转换为tuple:
new_dict = { tuple(tup[0]), tup[1] }
https://stackoverflow.com/questions/44491758
复制相似问题