
python列表转字典
1、直接转:要求列表中的每个元素是 长度为2的元组 或 长度为2的列表l1 = [(1, 'a'), (2, 'b'),(3, 'c'), (4, 'd')]print(dict(l1))# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}l2= [['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3']]print(di
·
1、直接转:
要求列表中的每个元素是 长度为2的元组 或 长度为2的列表
l1 = [(1, 'a'), (2, 'b'),
(3, 'c'), (4, 'd')]
print(dict(l1))
# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
l2= [['key1', 'value1'], ['key2', 'value2'], ['key3', 'value3']]
print(dict(l2))
# {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}
2、zip函数
要求:两个列表,分为长度相同和长度不同
#长度相同
l1 = [1, 2, 3, 4]
l2 = ['a', 'b', 'c', 'd']
print(dict(zip(l2, l1)))
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}
#长度不同用ZIP
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = ['a', 'b', 'c', 'd']
print(dict(zip(l2, l1)))
# {'a': 1, 'b': 2, 'c': 3, 'd': 4}
#长度不同用zip_longest
from itertools import zip_longest
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = ['a', 'b', 'c', 'd']
print(dict(zip_longest(l1, l2)))
# {1: 'a', 2: 'b', 3: 'c', 4: 'd', 5: None, 6: None, 7: None}
print(dict(zip_longest(l2, l1)))
# {'a': 1, 'b': 2, 'c': 3, 'd': 4, None: 7}
3、用enumerate
考虑是列表元素下标Index做key还是做value;
如果做Key的话直接enumerate,如果做value的话,遍历依次写进字典;
#index做为key
l1=['a','b','c','d']
print(dict(enumerate(l1)))
#{0: 'a', 1: 'b', 2: 'c', 3: 'd'}
#index作为value,列表元素作为key
d={}
for index,val in enumerate(l1):
d[val]=index
print(d)
#{'a': 0, 'b': 1, 'c': 2, 'd': 3}
4、字典扩展式
将列表元素转换成字典的key,value写死
l1=[1,2,3,4]
d1={k:"a" for k in l1}
print (d1)
#{1: 'a', 2: 'a', 3: 'a', 4: 'a'}
5、dict.fromkeys()
列表元素转换为字典的key,value写死
l1=['red','blue','orange']
d1=dict.fromkeys(l1,"colors")
print (d1)
#{'red': 'colors', 'blue': 'colors', 'orange': 'colors'}
6、d.update(sub_d)
每个列表元素是字典对象
l1=[{1:'a',2:'b'},{3:'c',4:'d'}]
d1={}
for i in l1:
d1.update(i)
print (d1)
# {1: 'a', 2: 'b', 3: 'c', 4: 'd'}
点击阅读全文
更多推荐
活动日历
查看更多
直播时间 2025-02-26 16:00:00


直播时间 2025-01-08 16:30:00


直播时间 2024-12-11 16:30:00


直播时间 2024-11-27 16:30:00


直播时间 2024-11-21 16:30:00


所有评论(0)