如何将Python字典转换为列表?
在这篇文章中,我们将向您展示如何将 Python 字典转换为列表。以下是完成此任务的方法
使用 list & items() 方法
使用 keys() 方法
使用 values() 方法
使用列表推导式
使用 zip() 函数
使用 map() 函数
使用 for 循环 & items() 方法
字典是 Python 版本的关联数组数据结构。字典是键值对的集合。每个键值对由一个键和与其关联的值表示。
字典由用花括号括起来并用逗号分隔的键值对列表定义。每个键的值由冒号 (:) 分隔。
字典不能仅仅为了获得排序字典的表示而进行排序。根据定义,字典是无序的,而其他类型,例如列表和元组,则不是。因此,您需要一种有序的数据类型,即列表——很可能是一个元组列表。
Python 的字典 类为此目的提供了三种方法。items()、keys() 和 values() 分别返回包含键值对元组、仅键和仅值的视图对象。内置的 list 方法将这些视图对象转换为列表对象。
使用 list & items() 方法
Python 的字典类提供items() 函数,该函数返回字典中所有键值对 (字典项) 的可迭代序列。此返回的序列表示字典中的实际键值对。我们可以使用list() 函数 从此可迭代序列中获取元组列表。
算法(步骤)
以下是执行所需任务的算法/步骤:
创建一个变量来存储输入字典。
使用items() 函数获取字典的所有键值对(返回字典中键值对的组),并使用 list() 函数(返回可迭代对象的列表)将字典项(键值对)转换为元组列表。
打印转换后字典的最终列表。
示例
以下程序使用 list & items() 方法将 Python 字典转换为列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # converting input dictionary items(key-value pair) # to a list of tuples resultList = list(inputDictionary.items()) # printing the resultant list of a dictionary print(resultList)
输出
执行上述程序后,将生成以下输出:
[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]
使用 keys() 方法
算法(步骤)
以下是执行所需任务的算法/步骤:
创建一个变量来存储输入字典。
通过将其应用于输入字典并使用list() 函数(将序列/可迭代对象转换为列表)将其结果转换为列表,使用keys() 函数(dict.keys() 方法提供一个视图对象,按插入顺序显示字典中所有键的列表)打印字典所有键的列表。
示例
以下程序使用 list() 和 keys() 函数返回字典所有键的列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # converting input dictionary keys to a list resultList = list(inputDictionary.keys()) # printing the resultant list of a dictionary keys print(resultList)
输出
执行上述程序后,将生成以下输出:
['Hello', 'Tutorialspoint', 'python']
使用 values() 方法
要获得值列表,请使用字典的values() 方法。我们可以使用list() 函数将值转换为列表。
示例
以下程序使用 list() 和 values() 函数返回字典所有值的列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # converting input dictionary values to a list resultList = list(inputDictionary.values()) # printing the resultant list of a dictionary values print(resultList)
输出
执行上述程序后,将生成以下输出:
[10, 20, 30]
使用列表推导式
列表推导式使在 Python 中创建列表变得简单。此外,您可以在同一行更改元素的值。
使用dictionary.items() 在将它们添加到列表之前检索项的键和值。
示例
以下程序使用列表推导式将 Python 字典转换为列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # Storing key and value as list of tuples using list comprehension resultList = [(key, value) for key, value in inputDictionary.items()] # printing the resultant list of a dictionary key-values print(resultList)
输出
执行上述程序后,将生成以下输出:
[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]
使用 zip() 函数
zip() 函数可用于组合两个列表/迭代器。通过这种方式,我们可以组合字典的 .keys() 和 .values() 方法以同时访问两个值。
示例
以下程序使用 list zip() 函数将 Python 字典转换为列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} #combining keys and values of dictionary using zip() function resultList = zip(inputDictionary.keys(), inputDictionary.values()) # converting zip object to list resultList = list(resultList) # printing the resultant list of a dictionary key-values print(resultList)
输出
执行上述程序后,将生成以下输出:
[('Hello', 10), ('Tutorialspoint', 20), ('python', 30)]
使用 map() 函数
map() 是一个内置函数,允许您将任何函数映射到迭代器/列表上。要创建列表的列表,请将 list() 函数映射到dictionary.items() 的所有元素上。
示例
以下程序使用 list map() 函数将 Python 字典转换为列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # conveting list of keys and values of dictionary to a list using map() function resultList = new_list = list(map(list, inputDictionary.items())) # printing the resultant list of a dictionary key-values print(resultList)
输出
执行上述程序后,将生成以下输出:
[['Hello', 10], ['Tutorialspoint', 20], ['python', 30]]
使用 for 循环 & items() 方法
算法(步骤)
以下是执行所需任务的算法/步骤:
创建一个变量来存储输入字典。
创建一个空列表,该列表给出字典键、值的最终列表。
使用for 循环 使用items() 函数(返回字典中键值对的组)遍历字典的每个键值对。
使用append() 函数(将元素添加到列表的末尾)将相应的键值对列表附加到列表。
打印字典键值的最终列表
示例
以下程序使用 for 循环、append()、items() 函数将 Python 字典转换为列表:
# input dictionary inputDictionary = {'Hello': 10, 'Tutorialspoint': 20, 'python': 30} # creating an empty list resultList = [] # traversing through each key value pair of a dictionary using items() function for key, val in inputDictionary.items(): # appending list of corresponding key-value pair to a list resultList.append([key, val]) # printing the resultant list of a dictionary key-values print(resultList)
输出
执行上述程序后,将生成以下输出:
[['Hello', 10], ['Tutorialspoint', 20], ['python', 30]]
结论
在这篇文章中,我们学习了如何使用七种不同的方法将给定的字典转换为列表。我们还学习了如何使用 items() 函数迭代字典。