python - 如何在python中混合列表并实时查看
问题描述
我试图做如下的事情:
a_list = [
range(1, 4),
range(5, 8),
range(11, 14),
]
我想要这样的结果:
res = ['1 5 11', '1 5 12', '1 5 13', '1 6 11', '1 6 12', '1 6 13', '1 7 11', '1 7 12', '1 7 13',
'2 5 11', '2 5 12', '2 5 13', '2 6 11', '2 6 12', '2 6 13', '2 7 11', '2 7 12', '2 7 13',
'3 5 11', '3 5 12', '3 5 13', '3 6 11', '3 6 12', '3 6 13', '3 7 11', '3 7 12', '3 7 13',
]
我怎么才能得到它
解决方案
您正在寻找的是子列表的笛卡尔积。
from itertools import product
a_list = [
['1', '2', '3'],
['5', '6', '7'],
['11', '12', '13'],
]
list(product(*a_list))
这会给你一个元组列表。如果您需要列表列表,请尝试:
[list(x) for x in product(*a_list)]
最后,如果您想要空格分隔的字符串:
[' '.join(x) for x in product(*a_list)]
推荐阅读
- .net - 此流不支持超时
- c# - 使用实时服务器数据库,但在本地服务器代码上
- php - php - 插入后更改表列
- r - If 条件语句错误:“}”中的意外'}'
- javascript - Chrome 开发工具 | 呈现为 HTML 时预览窗格中的滚动问题
- python - 我应该怎么做才能修复我的 python 代码中的 NoSuchElementException 错误?
- c++ - rdbuf()->str() 在哪里?
- python-3.x - print("YNEOS"[(w%2)|(w<=2)::2]) 的工作原理
- angular - 由 Angular 应用程序(模块)组成的 Angular 应用程序
- javascript - MVC - 2个视图数据的比较