如何配对两个列表?

use*_*343 5 python list

我是一个Python初学者,所以我很抱歉这是一个非常基本的问题.

我有两个数据列表,它们来自:

with filein as f:
        reader=csv.reader(f)
        xs, ys = zip(*reader)
Run Code Online (Sandbox Code Playgroud)

我想创建一个循环,它将取"xs"中的第一项和"ys"中的第一项并打印出来.然后我想循环回来并重复两个列表中的第二个项目等等.

我原以为:

for x in xs and y in ys:
Run Code Online (Sandbox Code Playgroud)

要么

for x in xs:
    for y in ys:
Run Code Online (Sandbox Code Playgroud)

但这些似乎都没有给出预期的结果.

Dav*_*son 12

使用该zip函数以及元组解包:

for x, y in zip(xs, ys):
    print x, y
Run Code Online (Sandbox Code Playgroud)

在你的情况下,根据你需要xs和你的需要ys,你可以csv.reader直接迭代:

with filein as f:
    reader=csv.reader(f)
    for x, y in reader:
        print x, y
Run Code Online (Sandbox Code Playgroud)

zip(xs, ys)条线有效地扭转了你的xs, ys = zip(*reader)路线.


Mar*_*nen 6

使用邮编

>>> L=[1,2,3]
>>> M=[4,5,6]
>>> for a,b in zip(L,M):
...   print(a,b)
...
1 4
2 5
3 6
Run Code Online (Sandbox Code Playgroud)