3

我有两个清单。

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

我意识到此迭代将在每次迭代时覆盖StartdateEnddate的值,但现在我只是试图成功解压缩每个列表的元素。

我收到以下错误:

too many values to unpack (expected 2)

我以为我在拆包2?(d1 和 d2)

4

2 回答 2

4

你需要使用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
于 2018-08-29T18:19:27.140 回答
0

正如您在示例中尝试的那样,for 循环无法“解压”多个列表,但您可以将其“压缩”为@Nouman 的提及者

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

您现在可以将日期解压缩为每两个两个...

于 2018-08-29T18:25:59.063 回答