You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将itertools.permutations的元组输出转为列表的列表?

问题:将itertools.permutations的多行元组输出转为单个列表的列表形式

原代码运行后会逐行输出独立元组:

import itertools
perm = itertools.permutations(['A','B','C','D','E','F'],4)

for val in perm:
     print(val)

输出示例:

('F', 'E', 'B', 'C')
('F', 'E', 'B', 'D')
('F', 'E', 'C', 'A')
('F', 'E', 'C', 'B')
……

需要修改代码,让输出变为单个包含多个子列表的嵌套列表,格式如下:

[['F', 'E', 'B', 'C'],
 ['F', 'E', 'B', 'D'],
 ['F', 'E', 'C', 'A'],...,]

解决方案

方法1:列表推导式批量转换

itertools.permutations返回的是迭代器,通过列表推导式遍历迭代器中的每个元组,用list()将元组转为子列表,最终收集为一个大列表:

import itertools

perm = itertools.permutations(['A','B','C','D','E','F'],4)
result = [list(item) for item in perm]
print(result)

方法2:map函数快速转换

利用map()将迭代器内的每个元组映射为列表,再用list()将map对象转换为最终的嵌套列表:

import itertools

perm = itertools.permutations(['A','B','C','D','E','F'],4)
result = list(map(list, perm))
print(result)

两种方法的输出均符合需求,Python会自动对长嵌套列表进行换行排版,与示例格式一致。

内容的提问来源于stack exchange,提问作者Thando

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:10:26