从for循环中的列表中解压缩多个参数

时间:2018-08-29 18:14:58

标签: python list for-loop arguments argument-unpacking

我有两个列表。

d1 = ["'02/01/2018'", "'01/01/2018'", "'12/01/2017'"]
d2 = ["'02/28/2018'", "'01/31/2018'", "'12/31/2017'"]

我正在尝试将这些值分解为for循环。

for i,y in d1,d2:
    i,y = Startdate, Enddate

我意识到此迭代将在每次迭代中覆盖开始日期结束日期的值,但现在我只是在尝试成功解压缩每个列表的元素。 / p>

我收到以下错误:

too many values to unpack (expected 2)

我以为我要拆箱2吗? (d1和d2)

2 个答案:

答案 0 :(得分:1)

您需要使用zip。这是zip的实验:

>>> a = [1,2,3]
>>> b = [4,5,6]
>>> for i,y in zip(a,b):
    print(i,y)

1 4
2 5
3 6
>>> 

您可以说您的循环就像:

for i,y in zip(d1,d2):
    i,y = Startdate, Enddate

答案 1 :(得分:0)

for循环无法像您在示例中尝试的那样“解包”多个列表,但是您可以使用@Nouman将该文件“压缩”为提及者

  

list(zip([1,2,3],['a','b','c']))-> [(1,'a'),(2,'b'), (3,'c')]

您现在可以将日期每两个打开一个包装...