📜  Python - 字典中的增量值初始化

📅  最后修改于: 2022-05-13 01:55:10.397000             🧑  作者: Mango

Python - 字典中的增量值初始化

数据类型之间的相互转换非常流行,因此已经编写了许多文章来演示不同类型的问题及其解决方案。本文处理另一个类似类型的问题,将列表转换为字典,值作为索引增量,K 差。让我们讨论一些可以解决这个问题的方法。

方法 #1:使用字典理解 + enumerate()
使用上述函数的组合可以轻松解决这个问题,字典理解可以执行构造字典的任务,并且可以使用枚举函数来访问索引值以及元素。

# Python3 code to demonstrate
# Incremental value initialization in Dictionary
# using Dictionary comprehension + enumerate()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# initialization K 
K = 4
  
# using Dictionary comprehension + enumerate()
# Incremental value initialization in Dictionary
res = {val : (K * (idx + 1)) for idx, val in enumerate(test_list)}
  
# print result
print("The Dictionary after index keys : " + str(res))
输出 :
The original list : ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
The Dictionary after index keys : {'Akash': 12, 'Nikhil': 4, 'Manjeet': 16, 'Akshat': 8}

方法 #2:使用dict() + zip()
这个问题也可以通过上面2个函数的组合来解决,dict方法可以用来转换成字典,zip函数可以用来映射索引和键。

# Python3 code to demonstrate
# Incremental value initialization in Dictionary
# using dict() + zip()
  
# initializing list
test_list = ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
  
# printing original list
print("The original list : " + str(test_list))
  
# initialization K 
K = 4
  
# using dict() + zip()
# Incremental value initialization in Dictionary
res = dict(zip(test_list, range(K, len(test_list) * (K + 1), K)))
  
# print result
print("The Dictionary after index keys : " + str(res))
输出 :
The original list : ['Nikhil', 'Akshat', 'Akash', 'Manjeet']
The Dictionary after index keys : {'Akash': 12, 'Nikhil': 4, 'Manjeet': 16, 'Akshat': 8}