Python 中使用索引作为值的字典


在本文中,我们将学习如何从另一个常用的 Python 集合(即列表)创建字典。索引或键不是列表内容的一部分。但在字典中,我们需要为每个元素(称为值)附加一个键或索引。

使用 enumerate

enumerate 函数将计数器作为 enumerate 对象的键添加。因此,我们将其应用于给定的列表并使用 for 循环。这将创建所需的字典,其中键由 enumerate 函数生成。

示例

 在线演示

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = {val: key + 1 for key, val in enumerate(Alist)}

# print result
print("Dictionary created with index : ",NewDict)

输出

运行以上代码将得到以下结果:

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

请注意,当存在重复元素时,只会显示在重复元素中具有较高索引值的元素。

使用 zip 和 range

另一种方法是应用 range 函数来创建从 1 开始并一直持续到提供的列表长度的键。最后,我们应用 dict 函数来创建字典。

示例

 在线演示

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = dict(zip(Alist, range(1, len(Alist)+1)))

# print result
print("Dictionary created with index : ",NewDict)

输出

运行以上代码将得到以下结果:

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

更新于: 2020年5月4日

756 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告