有两个list:a =['a','b','c','d','e'],b=[1,2,3,4,5] 将a中的元素作为key,b中的元素作为value合并为字典

a = ['a', 'b', 'c', 'd', 'e', 'f', 'g']
b = [1, 2, 3, 4, 5, 6]

# 方法一,用zip函数,优点是代码量少,易理解,缺点是如果两个列表元素个数不同时,会取最短

dict1 = dict(list(zip(a,b)))
print(dict1) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}

# 方法二:用for循环遍历
dict1 = {}
for i in a:
for j in b:
if a.index(i) == b.index(j): # 以列表的下标相对应的元素作为键值对
dict1.setdefault(i, j)
elif a.index(i) > len(b) - 1: # 以列表的下标跟列表的元素个数对比,如果存在第一个列表元素个数大于另一个列表元素的情况,会默认用None补充
dict1.setdefault(i)
print(dict1) #{'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': None}
posted @ 2021-08-09 10:02  夏夏夏天的西瓜  阅读(584)  评论(0编辑  收藏  举报