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}
广告