Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python中的字典理解功能将3个列表唯一地组合为1_Python_List Comprehension - Fatal编程技术网

使用Python中的字典理解功能将3个列表唯一地组合为1

使用Python中的字典理解功能将3个列表唯一地组合为1,python,list-comprehension,Python,List Comprehension,我是新来学习Python的,而且我的代码只有几百行 start = ['12', '08', '07', '16', '04'] middle = ['01', '01', '01', '01', '01'] end = ['13', '07', '08', '15', '05'] 所需输出(按顺序): 下面的代码将无法保持原来的顺序(我一直在使用Python3.4,我知道3.7+可以解决这个问题) 当我尝试下面的方法时,它会出错 from collections import Ordered

我是新来学习Python的,而且我的代码只有几百行

start = ['12', '08', '07', '16', '04']
middle = ['01', '01', '01', '01', '01']
end = ['13', '07', '08', '15', '05']
所需输出(按顺序):

下面的代码将无法保持原来的顺序(我一直在使用Python3.4,我知道3.7+可以解决这个问题)

当我尝试下面的方法时,它会出错

from collections import OrderedDict
Combined_Lists = {start+middle: end for start, middle, end in OrderedDict(zip(start, middle, end))}
错误:

ValueError: too many values to unpack (expected 2)

我这里缺少什么?

您的
zip
正在生成3个值,但是
OrderedDict
需要一个
(键,值)
对的iterable

od = OrderedDict((s+m, e) for s, m, e in zip(start, middle, end))
你不能在事后将其解包到普通词典中,因为那样你就会失去订单

您想要的输出是一个列表,因此您可能需要

[(s+m, e) for s, m, e in zip(start, middle, end)]

相反。

你也可以在理解中做一个整数循环。今天做了3.5个小时,你救了我的星期天!必须在我的非工作时间学习这些东西,想成为一名系统开发人员!!非常感谢,如果我能给你10美元小费,我会的。谢谢,某个系统工程师签了名
od = OrderedDict((s+m, e) for s, m, e in zip(start, middle, end))
[(s+m, e) for s, m, e in zip(start, middle, end)]