如何在Python中将列表转换为字典
列表和字典是两种用于存储数据的数据结构。列表存储异构数据类型,而字典以键值对的方式存储数据。在这里,我们将 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}