当前位置: 首页 > 编程笔记 >

使用Python中的列表内容创建字典

皇甫伟彦
2023-03-14
本文向大家介绍使用Python中的列表内容创建字典,包括了使用Python中的列表内容创建字典的使用技巧和注意事项,需要的朋友参考一下

在python中,经常需要将集合类型从一种类型更改为另一种类型。在本文中,我们将看到在给出多个列表时如何创建字典。挑战在于如何将所有这些列表组合在一起以创建一个字典,以字典键值格式容纳所有这些值。

带拉链

zip函数可用于组合不同列表的值,如下所示。在下面的示例中,我们将三个列表作为输入,并将它们组合成一个字典。其中一个列表提供了字典的键,另外两个列表则保存了每个键的值。

示例

key_list = [1, 2,3]
day_list = ['Friday', 'Saturday','Sunday']
fruit_list = ['Apple','Banana','Grape']

# Given Lists
print("Given key list : " + str(key_list))
print("Given day list : " + str(day_list))
print("Given fruit list : " + str(fruit_list))


# Dictionary creation
res = {key: {'Day': day, 'Fruit': fruit} for key, day, fruit in
zip(key_list, day_list, fruit_list)}

# Result
print("The final dictionary : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given key list : [1, 2, 3]
Given day list : ['Friday', 'Saturday', 'Sunday']
Given fruit list : ['Apple', 'Banana', 'Grape']
The final dictionary :
{1: {'Day': 'Friday', 'Fruit': 'Apple'}, 2: {'Day': 'Saturday', 'Fruit': 'Banana'}, 3: {'Day': 'Sunday', 'Fruit': 'Grape'}}

用枚举

枚举函数添加一个计数器作为枚举对象的键。因此,在本例中,我们将key_list作为参数提供给

示例

key_list = [1, 2,3]
day_list = ['Friday', 'Saturday','Sunday']
fruit_list = ['Apple','Banana','Grape']

# Given Lists
print("Given key list : " + str(key_list))
print("Given day list : " + str(day_list))
print("Given fruit list : " + str(fruit_list))


# Dictionary creation
res = {val : {"Day": day_list[key], "age": fruit_list[key]}
for key, val in enumerate(key_list)}

# Result
print("The final dictionary : \n" ,res)

输出结果

运行上面的代码给我们以下结果-

Given key list : [1, 2, 3]
Given day list : ['Friday', 'Saturday', 'Sunday']
Given fruit list : ['Apple', 'Banana', 'Grape']
The final dictionary :
{1: {'Day': 'Friday', 'age': 'Apple'}, 2: {'Day': 'Saturday', 'age': 'Banana'}, 3: {'Day': 'Sunday', 'age': 'Grape'}}
 类似资料:
  • 问题内容: 我需要将列表转换成字典,如下所示。奇数元素具有键,偶数元素具有值。 -> 获得相同结果的更好方法? 添加 似乎在工作 问题答案: dict(x[i:i+2] for i in range(0, len(x), 2))

  • 问题内容: 我有一个很大的文件(大约有200k输入)。输入形式为: 我正在读取此文件并将其存储在列表中,如下所示: 每当看到新行时,都会拆分文件。因此,文本如下所示: 我现在必须将这些值存储在字典中,其中键值是每个列表的第一个元素。即键将是A,B,C,D。我发现很难输入值作为列表的其余元素。即字典应该看起来像: 我已经完成以下工作: 请帮助我如何将值添加到字典中。如果列表中没有任何元素(除了将作为

  • 问题内容: 我想创建一个字典,其值为列表。例如: 如果我做: 我收到一个KeyError,因为d […]不是列表。在这种情况下,我可以在分配a后添加以下代码以初始化字典。 有一个更好的方法吗?可以说,直到进入第二个循环,我才知道需要的键。例如: 然后可以替代 与 处理此问题的最佳方法是什么?理想情况下,追加将“有效”。有什么方法可以表达我想要空列表的字典,即使我第一次创建列表时也不知道每个键? 问

  • 问题内容: 例如,我有以下列表: 并希望将其用“ |”分隔 所以结果看起来像: 我怎样才能做到这一点?我只在网上找到需要一定长度元素的子列表示例 问题答案:

  • 问题内容: 我喜欢Python列表理解语法。 可以用来创建字典吗?例如,通过遍历键和值对: 问题答案: 从Python 2.7和3开始,你应该只使用语法: 在Python 2.6和更早版本中,内置函数可以接收键/值对的迭代,因此你可以将其传递给列表推导或生成器表达式。例如: 但是,如果你已经具有可迭代的键key/value,则根本不需要使用任何理解-最简单的方法是直接调用内置函数:

  • 问题内容: 令我惊讶的 是,无论x:0,“ a”,1000 *“ a”,{} ,都是40036。 是否有一个 可以适当考虑共享内存的元素? (问题来自查看内存数据库表,例如range(1000000)->省名:list或dict?) (在Mac ppc上,Python是2.6.4。) 补充:10000 * [“” Mississippi“]是指向一个” Mississippi“的10000指针,正