python - 多次遍历三个列表,在每次迭代中从列表中依次选择一个元素
问题描述
我想遍历三个列表中的每一个,在每次迭代中从每个列表中依次选择一个元素。
subjects=["Americans","Indians"]
verbs=["plays","watch"]
objects=["Baseball","cricket"]
for i,j,k in zip(subjects,verbs,objects):
print(i,j,k)
上面的代码给出的输出如下:
Americans plays Baseball
Indians watch cricket
但预期的输出是:
Americans play Baseball.
Americans play Cricket.
Americans watch Baseball.
Americans watch Cricket.
Indians play Baseball.
Indians play Cricket.
Indians watch Baseball.
Indians watch Cricket.
解决方案
用于itertools.product
获取所有可能的组合,然后打印它们
>>> subjects=["Americans","Indians"]
>>> verbs=["plays","watch"]
>>> objects=["Baseball","cricket"]
>>>
>>> from itertools import product
>>> for x in product(subjects,verbs,objects):
... print('{} {} {}'.format(*x))
...
Americans plays Baseball
Americans plays cricket
Americans watch Baseball
Americans watch cricket
Indians plays Baseball
Indians plays cricket
Indians watch Baseball
Indians watch cricket
推荐阅读
- react-native - react-intl 变成 formatJs ,如何在 react-native 中重新添加本地化数据
- jquery - 使用jquery在geojson文件中查找多边形中的点
- python - 如何使用列表项作为变量?
- python - 下载 pywinauto 时遇到问题
- angular - 如何阻止用户登录,直到他们在 Azure B2C 中获得授权
- python - 在 pycharm 中使用 datetime.now() 时打印出相同的微秒
- python - 在 python3 脚本和相同的过程中运行 python2
- python - Pgzero:禁用屏幕的未定义变量错误
- c - 转换不准确
- c - C中的字符串动态分配