Python 如何将字典和列表压缩在一起
在本文中,我们将展示如何将Python字典和列表压缩在一起。以下是完成此任务的各种方法:
- 使用zip()函数
-
使用append()函数和items()函数
-
使用append()函数和in操作符
使用zip()函数将字典和列表组合在一起
步骤
以下是执行所需任务的算法/步骤:
- 创建一个变量来存储输入的字典。
-
创建另一个变量来存储输入的列表。
-
使用zip()函数(zip()函数可用于合并两个列表/迭代器)将输入的字典和列表通过将字典的键值对使用items()函数(返回字典的键值对)作为参数以及输入的列表传递给它。
-
这里返回的结果是给定字典和输入列表的zip对象。
-
通过使用list()函数(返回可迭代对象的列表)将上述zip对象转换为列表,打印出结果的zip结果。
示例
以下程序使用zip()函数将输入的字典和列表组合在一起:
# input dictionary
inputDict = {'Hello':1, 'tutorialspoint':2, 'python':3, 'codes':3}
# input list
inputList = [10, 20, 30, 40]
# combining input dictionary and list together
zippedResult = zip(inputDict.items(), inputList)
print("Combining input dictionary and list together:")
# printing the resultant zip result by converting the
# above zip object into a list
print(list(zippedResult))
输出
在执行上述程序时,将会生成以下输出结果 −
Combining input dictionary and list together:
[(('Hello', 1), 10), (('tutorialspoint', 2), 20), (('python', 3), 30), (('codes', 3), 40)]
创建Zip对象并访问它
步骤
以下是执行所需任务的算法/步骤−
- 使用 for循环 遍历输入字典的键值对和上述Zip对象中的列表项
-
打印字典的对应键。
-
打印字典的对应值。
-
打印输入列表的对应列表项。
示例
以下程序使用 zip() 函数将输入字典和列表组合在一起,并打印Zip对象的键、字典的值和列表项−
# input dictionary
inputDict = {'Hello':1, 'tutorialspoint':2, 'python':3, 'codes':3}
# input list
inputList = [10, 20, 30, 40]
# combining input dictionary and list together
zippedObject = zip(inputDict.items(), inputList)
print("Zipping input dictionary and list:")
# traversing through key, value pair of dictionary and list items in
# the above zip object
for (k, v), listItem in zippedObject:
# printing the corresponding key of a dictionary
print(k)
# printing the corresponding value of a dictionary
print(v)
# printing corresponding list item of the input list
print(listItem)
输出
执行上面的程序将生成以下输出 –
Zipping input dictionary and list:
Hello
1
10
tutorialspoint
2
20
python
3
30
codes
3
40
使用append()和items()函数
步骤
以下是执行所需任务的算法/步骤:
- 创建一个空列表来存储给定字典和列表的zip对象。
-
获取列表的索引值,并将其初始化为0。
-
使用items()函数遍历字典的键-值对。
-
创建一个包含字典的键和值的元组,并将其存储在一个变量中。
-
使用append()函数将上述元组和列表当前索引的元素作为元组追加到列表中。
-
增加列表索引的值1。
-
打印字典和列表的zip对象。
示例
以下程序使用append()和items()函数将输入的字典和列表组合在一起。
# input dictionary
inputDict = {'Hello':1, 'tutorialspoint':2, 'python':3, 'codes':3}
# input list
inputList = [10, 20, 30, 40]
# empty list for storing result
result = []
# initializing a variable of list index with 0
i=0
# traversing through key, value pair of input dictionary
for key,value in inputDict.items():
# creating a tuple of key-value pairs of a dictionary
dict_key_value_tuple = (key,value)
# appending corresponding key, value pair of input dictionary, and input list element to the above result list
result.append(((dict_key_value_tuple),inputList[i]))
# incrementing the value of the list index by 1
i+=1
# printing the resultant zip of input dictionary and list
print("Zipping input dictionary and list:\n", result)
输出
执行以上程序后,将生成如下输出:
Zipping input dictionary and list:
[(('Hello', 1), 10), (('tutorialspoint', 2), 20), (('python', 3), 30), (('codes', 3), 40)]
使用 append() 函数和 in 操作符
示例
以下程序使用 append() 函数和 in 操作符将输入的字典和列表组合在一起 −
# input dictionary
inputDict = {'Hello':1, 'tutorialspoint':2, 'python':3, 'codes':3}
# input list
inputList = [10, 20, 30, 40]
# empty list for storing result
result = []
# initializing a variable of list index with 0
i=0
# traversing through key of input dictionary
for key in inputDict:
# creating a tuple of key-value pair of a dictionary
# here inputDict[key] represents value of a dictionary
dict_key_value_tuple = (key,inputDict[key])
# appending corresponding key, value pair of input dictionary,
# input list element as tuple to the above result list
result.append(((dict_key_value_tuple),inputList[i]))
# incrementing the value of the list index by 1
i+=1
# printing the resultant zip of input dictionary and list
print("Zipping input dictionary and list:\n", result)
输出
在执行时,上面的程序将生成以下输出 −
Zipping input dictionary and list:
[(('Hello', 1), 10), (('tutorialspoint', 2), 20), (('python', 3), 30), (('codes', 3), 40)]
结论
在这篇文章中,我们学习了Python中压缩给定字典或列表的三种技术。我们学会了如何访问zip对象并显示其值。我们还学会了如何使用items()函数和in运算符遍历字典。