Python:for循环到两个列表中较短的一个

时间:2017-09-07 15:44:48

标签: python for-loop

我想做一个带有两个列表的for循环,这两个列表中的两个中的较短者只会达到这个目的:

list1 = [1, 2, 3]
list2 = ['a', 'b']

for val in (list1 up to length of list2)
    print val
输出应该是:

1
2

1 个答案:

答案 0 :(得分:5)

您可以使用zip()

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

如果您想手动完成,请使用:

list1 = [1, 2, 3]
list2 = ['a', 'b']
m = min(len(list1), len(list2)) # get the minimum length
for i in range(m):
  print(list1[i])
#1
#2

但是,我会推荐zip(),因为它会为您完成所有事情。能够做某事而不必依赖特殊的编程语言功能是很好的。