拆开物品,一步算一数
Unpack items and count them with one step
我正在尝试迭代 X
s 和 y
s 同时解压它们并使用 enumerate()
函数来计算对数,如下代码所示:
X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]
Y = [[11, 21, 31, 41], [51, 61, 71, 81], [91, 101, 111, 121], [131, 141, 151, 161], [171, 181, 191, 201]]
index = 0
for x, y in zip(X, Y):
print(f'{index }, {x}, {y}')
index += 1
我想保存 index += 1
行,并能够在 for 循环中获取所有索引、x 和 y
我尝试过的:
- 我试过在
zip
上使用enumerate
函数,但是后面需要我手动解压x
和y
,如下图代码,我想保存这一行:
X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]
Y = [[11, 21, 31, 41], [51, 61, 71, 81], [91, 101, 111, 121], [131, 141, 151, 161], [171, 181, 191, 201]]
for index, data in enumerate(zip(X, Y)):
x, y = data
print(f'{index}, {x}, {y}')
期望的结果:
期望的结果可以在下面的示意图中看到伪代码:
#for index, x, y in zip(X, Y):
# print(f'{index }, {x}, {y}')
我在这里错过了什么?
提前致谢。
您可以将 enumerate
返回的值直接解包到元组中(您的 pseudo-code 只是漏掉了括号):
for index, (x, y) in enumerate(zip(X, Y)):
print(f'{index}, {x}, {y}')
-->
0, [1, 2, 3, 4], [11, 21, 31, 41]
1, [5, 6, 7, 8], [51, 61, 71, 81]
...
您还可以在f-string中使用数据[0]和数据[1]。因此,您可以使用较少的临时变量。
for index, data in enumerate(zip(X, Y)): print(f'{index}, {data[0]}, {data[1]}')
我正在尝试迭代 X
s 和 y
s 同时解压它们并使用 enumerate()
函数来计算对数,如下代码所示:
X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]
Y = [[11, 21, 31, 41], [51, 61, 71, 81], [91, 101, 111, 121], [131, 141, 151, 161], [171, 181, 191, 201]]
index = 0
for x, y in zip(X, Y):
print(f'{index }, {x}, {y}')
index += 1
我想保存 index += 1
行,并能够在 for 循环中获取所有索引、x 和 y
我尝试过的:
- 我试过在
zip
上使用enumerate
函数,但是后面需要我手动解压x
和y
,如下图代码,我想保存这一行:
X = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15, 16], [17, 18, 19, 20]]
Y = [[11, 21, 31, 41], [51, 61, 71, 81], [91, 101, 111, 121], [131, 141, 151, 161], [171, 181, 191, 201]]
for index, data in enumerate(zip(X, Y)):
x, y = data
print(f'{index}, {x}, {y}')
期望的结果:
期望的结果可以在下面的示意图中看到伪代码:
#for index, x, y in zip(X, Y):
# print(f'{index }, {x}, {y}')
我在这里错过了什么?
提前致谢。
您可以将 enumerate
返回的值直接解包到元组中(您的 pseudo-code 只是漏掉了括号):
for index, (x, y) in enumerate(zip(X, Y)):
print(f'{index}, {x}, {y}')
-->
0, [1, 2, 3, 4], [11, 21, 31, 41]
1, [5, 6, 7, 8], [51, 61, 71, 81]
...
您还可以在f-string中使用数据[0]和数据[1]。因此,您可以使用较少的临时变量。
for index, data in enumerate(zip(X, Y)): print(f'{index}, {data[0]}, {data[1]}')