📜  Python|将列表转换为字典

📅  最后修改于: 2022-05-13 01:55:12.121000             🧑  作者: Mango

Python|将列表转换为字典

给定一个列表,编写一个Python程序将给定的列表转换为字典,使得所有奇数元素都有键,偶数元素有值。由于Python字典是无序的,所以输出可以是任何顺序。
例子:

Input : ['a', 1, 'b', 2, 'c', 3]
Output : {'a': 1, 'b': 2, 'c': 3}

Input : ['Delhi', 71, 'Mumbai', 42]
Output : {'Delhi': 71, 'Mumbai': 42}



方法#1:听写理解
要将列表转换为字典,我们可以使用列表推导并制作连续元素的键:值对。最后,将列表类型化为dict类型。

Python3
# Python3 program to Convert a
# list to dictionary
 
def Convert(lst):
    res_dct = {lst[i]: lst[i + 1] for i in range(0, len(lst), 2)}
    return res_dct
         
# Driver code
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))


Python3
# Python3 program to Convert a
# list to dictionary
 
def Convert(a):
    it = iter(a)
    res_dct = dict(zip(it, it))
    return res_dct
         
# Driver code
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))


输出
{'a': 1, 'b': 2, 'c': 3}


方法#2:使用zip()方法
首先创建一个迭代器,并将其初始化为变量'it'。然后使用zip方法,将键和值压缩在一起。最后将其类型转换为dict类型。

Python3

# Python3 program to Convert a
# list to dictionary
 
def Convert(a):
    it = iter(a)
    res_dct = dict(zip(it, it))
    return res_dct
         
# Driver code
lst = ['a', 1, 'b', 2, 'c', 3]
print(Convert(lst))
输出
{'a': 1, 'b': 2, 'c': 3}