python将两个列表转换成一个字典

本文讨论如何将两个列表转换成一个字典,要求两个列表满足以下条件

  1. 列表长度相同
  2. 做字典key的列表里没有重复元素
输入:
name_lst = ['python', 'java', 'php']
value_lst = [90, 99, 95]

输出:
{
    'python': 90,
    'java': 99,
    'php': 95
}

方法1, 遍历列表创建字典

name_lst = ['python', 'java', 'php']
value_lst = [90, 99, 95]

dic = {}
for index, key in enumerate(name_lst):
    dic[key] = value_lst[index]

print(dic)

遍历大法好,用了忘不了,不管是什么问题,只要能遍历,就没有解决不了的

方法2, 结合zip和字典构造函数

name_lst = ['python', 'java', 'php']
value_lst = [90, 99, 95]

dic = dict(zip(name_lst, value_lst))
print(dic)

dict究竟是如何起作用的呢,可以参考下面的代码

print(dict([('python', 90), ('java', 99)]))

列表里有连个元组,dict函数会将这个两个元组转换成key-value对,最终的结果是

{'python': 90, 'java': 99}

方法3, 字典推导式

name_lst = ['python', 'java', 'php']
value_lst = [90, 99, 95]

dic = {key: value for key, value in zip(name_lst, value_lst)}
print(dic)

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案