2024-04-25 10:44:44 发布
网友
我正在尝试转换以下列表:
list = ['A','B','C']
像这样的字典:
dict = {'A':0, 'B':1, 'C':2}
我试过其他帖子的答案,没有一个对我有用。我现在有以下代码:
{list[i]: i for i in range(len(list))}
这就给了我一个错误:
unhashable type: 'list'
任何帮助都非常感谢。谢谢。
您可以从内置的enumerate中获取列表的索引。您只需要反转索引值映射并使用字典理解来创建字典
>>> lst = ['A','B','C'] >>> {k: v for v, k in enumerate(lst)} {'A': 0, 'C': 2, 'B': 1}
哦,永远不要将变量命名为内置或类型。
Pythondict构造函数能够将tuple的列表转换为dict,其中键是元组的第一个元素,值是元组的第二个元素。要实现这一点,可以使用生成tuple的(index, value)的内置函数^{}。
dict
tuple
(index, value)
然而问题的要求正好相反,即tuple应该是(value, index)。因此,在将元组元素传递给dict构造函数之前,还需要执行额外的步骤来反转元组元素。在这一步中,我们可以使用内置的^{},并使用^{}将其应用于list的每个元素
(value, index)
>>> lst = ['A', 'B', 'C'] >>> dict(map(reversed, enumerate(lst))) >>> {'A': 0, 'C': 2, 'B': 1}
使用内置函数dict和zip:
>>> lst = ['A','B','C'] >>> dict(zip(lst,range(len(lst))))
您可以从内置的enumerate中获取列表的索引。您只需要反转索引值映射并使用字典理解来创建字典
哦,永远不要将变量命名为内置或类型。
Python} 。
dict
构造函数能够将tuple
的列表转换为dict
,其中键是元组的第一个元素,值是元组的第二个元素。要实现这一点,可以使用生成tuple
的(index, value)
的内置函数^{然而问题的要求正好相反,即} ,并使用^{} 将其应用于list的每个元素
tuple
应该是(value, index)
。因此,在将元组元素传递给dict构造函数之前,还需要执行额外的步骤来反转元组元素。在这一步中,我们可以使用内置的^{使用内置函数dict和zip:
相关问题 更多 >
编程相关推荐