Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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.x 将多个列表中的有序项连接在一起,形成新的串联字符串列表_Python 3.x_List_Join_Concatenation - Fatal编程技术网

Python 3.x 将多个列表中的有序项连接在一起,形成新的串联字符串列表

Python 3.x 将多个列表中的有序项连接在一起,形成新的串联字符串列表,python-3.x,list,join,concatenation,Python 3.x,List,Join,Concatenation,我有三个列表,我想将它们连接起来,这样在每个列表中排序的相同项目从每个列表连接成一个字符串 比如说,, 我有一个天的列表,一个月的列表,还有一个年的列表,我想合并成一个新的列表,这样我就有了一个完整的日期,但是在日-月和月-年之间有“-” 如果日期[0]=“15”、月份[0]=“3”和年份[0]=“2012”,则日期应与“2012年3月15日”结尾处的日期类似,以此类推 使用列表理解不起作用,因为我只是对每个列表中的每个项目进行组合日期的迭代。任何帮助都将不胜感激 day = ['15', '0

我有三个列表,我想将它们连接起来,这样在每个列表中排序的相同项目从每个列表连接成一个字符串

比如说,, 我有一个天的列表,一个月的列表,还有一个年的列表,我想合并成一个新的列表,这样我就有了一个完整的日期,但是在日-月和月-年之间有“-”

如果日期[0]=“15”、月份[0]=“3”和年份[0]=“2012”,则日期应与“2012年3月15日”结尾处的日期类似,以此类推

使用列表理解不起作用,因为我只是对每个列表中的每个项目进行组合日期的迭代。任何帮助都将不胜感激

day = ['15', '09', '25', '03', '04', '05', '17', '14', '23', '20', '06', '19', '15', '04', '16', '22', '25', '08', '12', '18', '25', '15', '04', '24', '17', '13', '17', '18', '03', '23', '30', '22', '23', '16']
month = ['Mar', 'Apr', 'Apr', 'May', 'Jun', 'Jun', 'Jul', 'Mar', 'Jul', 'Aug', 'Sep', 'Jun', 'Oct', 'Jan', 'Apr', 'Oct', 'Oct', 'Nov', 'Feb', 'Jun', 'Feb', 'Dec', 'May', 'Feb', 'Nov', 'Dec', 'Apr', 'Apr', 'Aug', 'May', 'May', 'Aug', 'May', 'May']
year = ['2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2012', '2013', '2013', '2014', '2014', '2011', '2015', '2015', '2011', '2012', '2016', '2011', '2016', '2012', '2016', '2012', '2016']

combined = [i + '-' + j + '-' + k for i in day for j in month for k in year]

假设这三个列表的长度相同(在本例中,它们是相同的),那么您可以使用以下列表:

combined = [day[i] + '-' + month[i] + '-' + year[i] for i in range(len(day))]
它可以表示为循环的
,如下所示:

combined = []
for i in range(len(day)):
    combined.append(day[i] + '-' + month[i] + '-' + year[i])
通过获取列表中特定点的所有匹配信息,该列表理解利用了所有列表大小相同的事实


在此之前,您对列表的理解可以表述为:

combined = []
for i in day:
   for j in month:
       for k in year:
           combined.append(i + '-' + j + '-' + k)

它循环通过
len(天)*len(月)*len(年)
,这就是为什么您不会得到预期的结果。

如果三个列表的长度相同(在本例中,它们是相同的),那么您可以使用以下列表:

combined = [day[i] + '-' + month[i] + '-' + year[i] for i in range(len(day))]
它可以表示为
循环的
,如下所示:

combined = []
for i in range(len(day)):
    combined.append(day[i] + '-' + month[i] + '-' + year[i])
通过获取列表中特定点的所有匹配信息,该列表理解利用了所有列表大小相同的事实


在此之前,您对列表的理解可以表述为:

combined = []
for i in day:
   for j in month:
       for k in year:
           combined.append(i + '-' + j + '-' + k)

它在
len(天)*len(月)*len(年)
之间循环,这就是为什么您不会得到预期结果的原因。

由于您的列表长度相同,您可以使用
zip
组合:

>>> ['{}-{}-{}'.format(*t) for t in zip(day,month,year)]
['15-Mar-2012', '09-Apr-2012', '25-Apr-2012', '03-May-2012', '04-Jun-2012', '05-Jun-2012', '17-Jul-2012', '14-Mar-2012', '23-Jul-2012', '20-Aug-2012', '06-Sep-2012', '19-Jun-2012', '15-Oct-2012', '04-Jan-2012', '16-Apr-2012', '22-Oct-2012', '25-Oct-2012', '08-Nov-2012', '12-Feb-2013', '18-Jun-2013', '25-Feb-2014', '15-Dec-2014', '04-May-2011', '24-Feb-2015', '17-Nov-2015', '13-Dec-2011', '17-Apr-2012', '18-Apr-2016', '03-Aug-2011', '23-May-2016', '30-May-2012', '22-Aug-2016', '23-May-2012', '16-May-2016']

由于列表长度相同,因此可以使用
zip
组合:

>>> ['{}-{}-{}'.format(*t) for t in zip(day,month,year)]
['15-Mar-2012', '09-Apr-2012', '25-Apr-2012', '03-May-2012', '04-Jun-2012', '05-Jun-2012', '17-Jul-2012', '14-Mar-2012', '23-Jul-2012', '20-Aug-2012', '06-Sep-2012', '19-Jun-2012', '15-Oct-2012', '04-Jan-2012', '16-Apr-2012', '22-Oct-2012', '25-Oct-2012', '08-Nov-2012', '12-Feb-2013', '18-Jun-2013', '25-Feb-2014', '15-Dec-2014', '04-May-2011', '24-Feb-2015', '17-Nov-2015', '13-Dec-2011', '17-Apr-2012', '18-Apr-2016', '03-Aug-2011', '23-May-2016', '30-May-2012', '22-Aug-2016', '23-May-2012', '16-May-2016']

你的回答很有帮助!谢谢!你的回答很有帮助!谢谢!我真的很高兴你建议拉普。我试图将三个列表压缩在一起,但未能成功。我也不知道如何在拉拉链时包含“-”。感谢您提供解决方案!我真的很高兴你建议拉普。我试图将三个列表压缩在一起,但未能成功。我也不知道如何在拉拉链时包含“-”。感谢您提供解决方案!