python-3.x - 遍历 2 个 Python 列表并获取所有 x 到 y 组合
问题描述
我有以下两个列表:
x = [1,2] y = [4,5,6]
我想用z迭代x。
我有一个名为 code 的变量设置为 NONE,另一个名为 value 的变量也设置为 NONE。这是我的目标输出:
1st iteration, code = 1 and value = 4
2nd iteration, code = 1 and value = 5
3rd iteration, code = 1 and value = 6
4th iteration, code = 2 and value = 4
5th iteration, code = 2 and value = 5
6th iteration, code = 2 and value = 6
这是我尝试过的:
x = [1, 2]
y = [4, 5, 6]
code = None
value = None
for x_ids, y_ids in zip(x, y):
code = x_ids
value = y_ids
print("c", code)
print("v", value)
output:
c 1
v 4
c 2
v 5
谁能建议如何获得上述输出?
解决方案
这是实现您正在寻找的一种方法:
x = [1, 2]
y = [4, 5, 6]
code = None
value = None
iter_count = 0
for x_ids in x:
code = x_ids
for y_ids in y:
iter_count += 1
value = y_ids
print('{} iteration, code = {} and value = {}'.format(iter_count, code, value))
#print(str(iter_count) + ' iteration, code = ' + str(code) + 'and value = ' + str(value))
就像评论中讨论的那样,这段代码遍历y
. x
在您的原始代码中,您使用zip
. 由于您也想打印迭代次数,因此有一个新变量 ,iter_count
用于计算并存储这些次数。
该代码有两个打印语句,它们打印相同的消息。注释掉的一个连接字符串,并将数字转换为字符串。未注释的可能不太直观,但通常更有用和更清晰。值得一看,你可以在这里找到介绍。
最后一件事,如果您也需要 - 以等格式打印数字1st
,2nd
您可以使用其中一些方法。
推荐阅读
- node.js - Heroku ReactJS 部署
- typescript - 扩展已知类的打字稿类型
- amazon-web-services - Aws EC2 Kubernetes 外部 IP 待定
- java - 在 OpenJDK 11.0.11 (JDK-8214213) 中更改了 jdeps 行为
- r - 如何“重新调整”R中data.frame列中的级别?
- php - 限制给定模型的多对多关系?
- bash - 如何在通过参数传递它的函数内更新关联数组?
- r - 在归一化操作之前仅选择现有组合
- ruby-on-rails - 在本地主机上工作但在heroku中出错
- python - 使用 numba 重载时 Python 内核死机