如何将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()函数组合输入字典和列表,并打印字典的键、值和压缩对象的列表项:
# 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 运算符迭代字典。