有时,在使用 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:使用列表推导式 + keys() 上述函数的组合可以用来解决这个问题。在此,我们通过提取字典的键进行查找来执行为列表检查索引分配值的任务。
Python3
# 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]
时间复杂度:O(n),其中n是列表test_dict的长度
辅助空间:创建大小为 n 的 O(n) 附加空间,其中 n 是 res 列表中的元素数量
方法#2:使用列表推导式 + get() 上述函数的组合可以用来解决这个问题。在此,我们使用get()提取元素,以便利用get()的默认值初始化属性来分配默认值。
Python3
# 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]
方法#3:使用*运算符和insert()方法
- 创建一个 0 的列表
- 稍后访问字典并在列表中的键索引处插入值
- 显示列表
Python3
# Python3 code to demonstrate working of
# Convert Index Dictionary to List
# 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
x = [0]*10
for i in list(test_dict.keys()):
x.insert(i, test_dict[i])
# printing result
print("The converted list : " + str(x))
输出
The original dictionary is : {2: 'Gfg', 4: 'is', 6: 'Best'} The converted list : [0, 0, 'Gfg', 0, 'is', 0, 'Best', 0, 0, 0, 0, 0, 0]
时间复杂度:O(N)
辅助空间:O(N)
相关用法
- Python InteractiveConsole runcode()用法及代码示例
- Python InteractiveInterpreter runsource()用法及代码示例
- Python InteractiveInterpreter runcode()用法及代码示例
- Python IncrementalEncoder encode()用法及代码示例
- Python Int转Bytes用法及代码示例
- Python Integer Matrix转String Matrix用法及代码示例
- Python Inspect用法及代码示例
- Python Integer和Float的区别用法及代码示例
- Python Itertools.chain()用法及代码示例
- Python Itertools.compress()用法及代码示例
- Python Itertools.cycle()用法及代码示例
- Python Itertools.dropwhile()用法及代码示例
- Python Itertools.islice()用法及代码示例
- Python Itertools.Permutations()用法及代码示例
- Python Itertools.starmap()用法及代码示例
- Python Itertools.takewhile()用法及代码示例
- Python Itertools.Product()用法及代码示例
- Python Itertools.count()用法及代码示例
- Python Itertools.accumulate()用法及代码示例
- Python Itertools.filterfalse()用法及代码示例
- Python Itertools.tee()用法及代码示例
- Python Itertools.Combinations_with_replacement()用法及代码示例
- Python Itertools.zip_longest()用法及代码示例
- Python Image转PDF用法及代码示例
- Python Import用法及代码示例
注:本文由纯净天空筛选整理自manjeet_04大神的英文原创作品 Python – Convert Index Dictionary to List。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。