python-3.x - 打开包装并一步计算它们
问题描述
我正在尝试迭代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
我试过的:
- 我试过
enumerate
在 上使用函数zip
,但它需要我手动解压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
直接返回的值解压缩到元组中(您的伪代码只是错过了括号):
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]
...
推荐阅读
- python - 如何多次拆分输入文本
- java - 如何将底页窥视高度设置为视图下方?
- python - 如何在循环中使用变量来创建特定的变量名
- angular - 错误:使用 ng serve --aot 时找不到模块
- react-native - 如何在 react native expo 项目中制作 iOS 和 android 文件夹
- xslt - 使用 XSLT 获取字符串中的文本
- pandas - Pandas - 按组/子组执行滚动平均
- c# - C# Visual Studio:如何区分每个用户的数据库
- python - 在python中递归重命名文件
- javascript - Puppeteer:将循环结构转换为 JSON 你是否传递了一个嵌套的 JSHandle?