Python – 将索引字典转换为列表
有时,在使用Python字典时,我们可能会遇到一个问题,即我们将键映射到值,其中键表示必须放置值的列表索引。这类问题可以应用于所有数据领域,例如 Web 开发。让我们讨论可以执行此任务的某些方式。
Input : test_dict = { 1 : ‘Gfg’, 3 : ‘is’, 5 : ‘Best’ }
Output : [0, ‘Gfg’, 0, ‘is’, 0, ‘Best’, 0, 0, 0, 0, 0]
Input : test_dict = { 2 : ‘Gfg’, 6 : ‘Best’ }
Output : [0, 0, ‘Gfg’, 0, 0, 0, ‘Best’, 0, 0, 0, 0]
方法#1:使用list comprehension + keys()
上述功能的组合可以用来解决这个问题。在此,我们通过提取字典的键进行查找来执行为列表检查索引分配值的任务。
# Python3 code to demonstrate working of
# Convert Index Dictionary to List
# Using list comprehension + keys()
# initializing dictionary
test_dict = { 2 : 'Gfg', 4 : 'is', 6 : 'Best' }
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Convert Index Dictionary to List
# Using list comprehension + keys()
res = [test_dict[key] if key in test_dict.keys() else 0 for key in range(10)]
# printing result
print("The converted list : " + str(res))
输出 :
The original dictionary is : {2: 'Gfg', 4: 'is', 6: 'Best'}
The converted list : [0, 0, 'Gfg', 0, 'is', 0, 'Best', 0, 0, 0]
方法 #2:使用列表理解 + get()
上述功能的组合可以用来解决这个问题。在此,我们使用 get() 提取元素,以便利用 get() 的默认值初始化属性分配默认值。
# Python3 code to demonstrate working of
# Convert Index Dictionary to List
# Using list comprehension + get()
# initializing dictionary
test_dict = { 2 : 'Gfg', 4 : 'is', 6 : 'Best' }
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
# Convert Index Dictionary to List
# Using list comprehension + get()
res = [test_dict.get(ele, 0) for ele in range(10)]
# printing result
print("The converted list : " + str(res))
输出 :
The original dictionary is : {2: 'Gfg', 4: 'is', 6: 'Best'}
The converted list : [0, 0, 'Gfg', 0, 'is', 0, 'Best', 0, 0, 0]