本文将从多个方面详细阐述Python列表变字典的相关知识。
一、列表转换为字典
1、方法一:使用zip()函数
代码示例:
keys = ['name', 'age', 'gender'] values = ['Alice', 25, 'female'] my_dict = dict(zip(keys, values)) print(my_dict)
输出结果:
{'name': 'Alice', 'age': 25, 'gender': 'female'}
2、方法二:使用列表解析
代码示例:
keys = ['name', 'age', 'gender'] values = ['Alice', 25, 'female'] my_dict = {keys[i]: values[i] for i in range(len(keys))} print(my_dict)
输出结果:
{'name': 'Alice', 'age': 25, 'gender': 'female'}
二、列表中嵌套字典
1、方法一:使用zip()函数
代码示例:
keys = ['name', 'age', 'gender'] values = [['Alice', 25, 'female'], ['Bob', 30, 'male'], ['Cathy', 22, 'female']] my_dict = dict(zip(keys, zip(*values))) print(my_dict)
输出结果:
{'name': ('Alice', 'Bob', 'Cathy'), 'age': (25, 30, 22), 'gender': ('female', 'male', 'female')}
2、方法二:使用列表解析
代码示例:
keys = ['name', 'age', 'gender'] values = [['Alice', 25, 'female'], ['Bob', 30, 'male'], ['Cathy', 22, 'female']] my_dict = {keys[i]: [row[i] for row in values] for i in range(len(keys))} print(my_dict)
输出结果:
{'name': ['Alice', 'Bob', 'Cathy'], 'age': [25, 30, 22], 'gender': ['female', 'male', 'female']}
三、列表中元素为字典
1、方法一:使用列表解析
代码示例:
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Cathy', 'age': 22}] my_dict = {item['name']: item['age'] for item in my_list} print(my_dict)
输出结果:
{'Alice': 25, 'Bob': 30, 'Cathy': 22}
2、方法二:使用map()函数
代码示例:
my_list = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Cathy', 'age': 22}] names = map(lambda x: x['name'], my_list) ages = map(lambda x: x['age'], my_list) my_dict = dict(zip(names, ages)) print(my_dict)
输出结果:
{'Alice': 25, 'Bob': 30, 'Cathy': 22}
四、其他常用方法
除了上述方法,还有一些其他常用的列表变字典的方法:
1、使用循环遍历列表
代码示例:
my_list = [['name', 'Alice'], ['age', 25], ['gender', 'female']] my_dict = {} for item in my_list: my_dict[item[0]] = item[1] print(my_dict)
输出结果:
{'name': 'Alice', 'age': 25, 'gender': 'female'}
2、使用collections模块的defaultdict类
代码示例:
from collections import defaultdict my_list = [['name', 'Alice'], ['age', 25], ['gender', 'female']] my_dict = defaultdict(list) for k, v in my_list: my_dict[k].append(v) print(dict(my_dict))
输出结果:
{'name': ['Alice'], 'age': [25], 'gender': ['female']}
本文介绍了Python列表转换为字典的几种方法,比如使用zip()函数、列表解析等等。同时还介绍了列表中嵌套字典和列表中元素为字典的情况下的转换方法。此外,还介绍了其他常用的列表变字典的方法。通过本文的学习,相信读者对Python列表变字典的使用有了更深入的了解。
原创文章,作者:SIRA,如若转载,请注明出处:https://www.beidandianzhu.com/g/2693.html