📌  相关文章
📜  如何在Python中将列表转换为字典

📅  最后修改于: 2020-10-29 00:44:40             🧑  作者: Mango

如何在Python中将列表转换为字典

列表和字典是用于存储数据的两个数据结构。 List存储异构数据类型,Dictionary存储键值对中的数据。在这里,我们将Python列表转换为字典。由于列表是有序的,而字典是无序的,因此输出的顺序可能会有所不同。 Python列表以以下方式存储元素。

student_marks = [56, 78, 96, 37, 85]

另一方面,字典是无序的,并存储唯一数据。它将数据存储在键值对中,其中每个键都与其值相关联。 Python字典按以下方式存储数据。

student_dict = {'Abhinay': 56, 'Sharma': 78, 'Himanshu': 96, 'Peter': 37}

在本教程中,我们将学习将Python列表转换为字典的方法。

输入样例:

Input : ['Name', 'Abhinay', 'age', 25, 'Marks', 90]
Output : {'Name', 'Abhinay', 'age', 25, 'Marks', 90}

Input : ['a', 10, 'b', 42, 'c', 86]
Output : {'a', 10, 'b', 42, 'c', 86}

让我们了解以下方法。

方法-1使用字典生成式

我们可以使用字典生成式将列表转换成字典。让我们了解以下代码。

范例-

student = ["James", "Abhinay", "Peter", "Bicky"]

student_dictionary = { stu : "Passed" for stu in student }

print(student_dictionary)

输出:

{'James': 'Passed', 'Abhinay': 'Passed', 'Peter': 'Passed', 'Bicky': 'Passed'}

说明-

在上面的代码中,我们创建了一个学生列表,将其转换为字典。使用字典压缩,我们在一行中将列表转换成字典。列表元素已调入键并作为值传递。

让我们理解另一个例子。

示例-2

list1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
square_dict = {n: n*n for n in list1}
print(square_dict)

输出:

{1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}

说明:

在上面的代码中,我们使用数字-平方键/值对创建了square_dict。

方法-2使用zip()函数

zip()函数用于将两个值压缩在一起。首先,我们需要创建一个迭代器并将其初始化为任何变量,然后类型转换为dict()函数。

让我们了解以下示例。

范例-

def Convert_dict(a):
    init = iter(list1)
    res_dct = dict(zip(init, init))
    return res_dct


# Driver code
list1 = ['x', 1, 'y', 2, 'z', 3]
print(Convert_dict(list1))

输出:

{'x': 1, 'y': 2, 'z': 3}