You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在for循环中从不同列表中选取对应元素?

如何在for循环中同时遍历两个列表的对应元素?

看起来你是想让两个列表里的元素按位置一一对应输出,但嵌套循环的写法导致第二个列表被完整遍历了三次。咱们来改改代码:

先看你现在的代码:

list1 = ['a','b','c']
list2 = ['1','2','3']
for x in list1:
    print(x)
    for y in list2:
        print(y)

它的输出是:

a
1
2
3
b
1
2
3
c
1
2
3

而你想要的是:

a 1
b 2
c 3

解决这个问题最直接的方法就是用Python内置的zip()函数,它能把多个可迭代对象(比如你的两个列表)中对应位置的元素打包成元组,这样在循环里就能同时取出两个列表的对应元素了:

list1 = ['a','b','c']
list2 = ['1','2','3']
for x, y in zip(list1, list2):
    print(x, y)

运行这段代码就能得到你期望的输出啦。

小补充:如果你的两个列表长度不一样,zip()会自动以较短的列表长度为准截断;要是想保留所有元素(长度不足的用None填充),可以用itertools模块里的zip_longest(),不过你的例子里两个列表长度一致,用zip()就完全够用了。

内容的提问来源于stack exchange,提问作者elrich bachman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 04:05:38