将两个列表中的元素一一对应转化为字典的方法

将两个列表中的元素一一对应转化为字典的方法

问题:有两个列表,li_1 和 li_2,他们长度一样,元素的内容一一对应,现在需要将其转化为键值对的表现形式,怎么解决?
li_1 = [‘name’, ‘author’, ‘introduce’]
li_2 = [‘Norway Wood’, ‘Haruki Murphy’,‘A book about men and women’]

答案:

# 将列表中的值以键值对的方式呈现
li_1 = ['name', 'author', 'introduce']
li_2 = ['Norway Wood', 'Haruki Murphy','A book about men and women']
# 方法1:使用zip()函数,使用迭代的遍历方法
dic = {
     }  # 创建一个空字典
for k,v in zip(li_1, li_2):    # 用zip()函数打包两个列表中的元素
    dic[k] = v
print(dic)
    
# 方法二 调用字典的构造方法
dic = dict(zip(li_1, li_2))
print(dic)

# 方法三 使用map()函数实现
def f_map(k, v):    # 定义函数,f_map是map()函数将要调用的函数句柄
    return (k, v)   # f_map()函数的作用是将两个参数以元组的方式返回
# map()函数的第一个参数是被调用函数的句柄,后面依次是可迭代对象
tup = tuple(map(f_map, li_1, li_2))
# 观察f_map()函数的返回结果
print(tup)
# 然后将元组转换为字典
dic = dict(tup)
print(dic)
# 直接转换为字典就这么写:
dic = dict(map(f_map, li_1, li_2)) 
print(dic)

你可能感兴趣的:(Python核心编程,python,数据结构,字典,列表)