如何在 Python 循环中有双计数器变量?
How to have double counter variable in Python loop?
x=[1,2,3,4,5]
y=[6,7,8,9,10]
for a,b in x,y:
print(a,b)
预期输出:
1,6
2,7
3,8
4,9
5,10
但我知道两个计数变量是不可能的。通过提供更好的替代代码来帮助我实现相同的目标。
您可以使用zip()
功能。 zip()
函数 returns 一个 zip 对象,它是元组的迭代器,其中每个传递的迭代器中的第一项配对在一起,然后每个传递的迭代器中的第二项配对在一起等
试试这个:
x=[1,2,3,4,5]
y=[6,7,8,9,10]
for a, b in zip(x, y):
print(f"{a}, {b}")
输出:
1, 6
2, 7
3, 8
4, 9
5, 10
你可以在这里使用zip
。
for a,b in zip(x,y):
print(a,b,sep=', ')
使用range
for i in range(len(x)):
print(x[i],y[i],sep=', ')
如果你有不等长的列表使用itertools.zip_longest
.
for i,j in itertools.zip_longest(x,y,fillvalues=' '):
print(i,j,sep=', ')
使用 zip 并格式化输出:
x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]
str_ = ""
for x_, y_ in zip(x,y):
str_ += "%d,%d " % (x_, y_)
print(str_)
输出:
1,6 2,7 3,8 4,9 5,10
另外:
for x_, y_ in zip(x,y):
print("%d,%d" % (x_, y_))
输出:
1,6
2,7
3,8
4,9
5,10
x=[1,2,3,4,5]
y=[6,7,8,9,10]
for a,b in x,y:
print(a,b)
预期输出:
1,6
2,7
3,8
4,9
5,10
但我知道两个计数变量是不可能的。通过提供更好的替代代码来帮助我实现相同的目标。
您可以使用zip()
功能。 zip()
函数 returns 一个 zip 对象,它是元组的迭代器,其中每个传递的迭代器中的第一项配对在一起,然后每个传递的迭代器中的第二项配对在一起等
试试这个:
x=[1,2,3,4,5]
y=[6,7,8,9,10]
for a, b in zip(x, y):
print(f"{a}, {b}")
输出:
1, 6
2, 7
3, 8
4, 9
5, 10
你可以在这里使用zip
。
for a,b in zip(x,y):
print(a,b,sep=', ')
使用range
for i in range(len(x)):
print(x[i],y[i],sep=', ')
如果你有不等长的列表使用itertools.zip_longest
.
for i,j in itertools.zip_longest(x,y,fillvalues=' '):
print(i,j,sep=', ')
使用 zip 并格式化输出:
x = [1, 2, 3, 4, 5]
y = [6, 7, 8, 9, 10]
str_ = ""
for x_, y_ in zip(x,y):
str_ += "%d,%d " % (x_, y_)
print(str_)
输出:
1,6 2,7 3,8 4,9 5,10
另外:
for x_, y_ in zip(x,y):
print("%d,%d" % (x_, y_))
输出:
1,6
2,7
3,8
4,9
5,10