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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从for循环中的列表中解压缩多个参数相关的知识,希望对你有一定的参考价值。

我有两个清单。

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

我意识到这个迭代会在每次迭代时覆盖Startdate和Enddate的值,但是现在我只是想成功解压缩每个列表的元素。

我收到以下错误:

too many values to unpack (expected 2)

我以为我开箱了2? (d1和d2)

答案

你需要使用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
另一答案

for循环不能像你在你的例子中那样“解包”几个列表,但是你可以通过@Nouman将它“压缩”为提及者

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

你现在可以每两个打开两个日期......

以上是关于从for循环中的列表中解压缩多个参数的主要内容,如果未能解决你的问题,请参考以下文章

在 for 循环中解包 Vector/Set

如何从多个 tar 文件中解压缩特定文件并压缩它们?

使用 ZipFile 类从多个文件的 zip 存档中解压缩文件

使用 pathlib 模块从 rglob() 方法的输出中解压缩所有项目 [关闭]

将多个不同的队列压缩到Python中的for循环中?

Zcat for循环中的多个压缩文件