python - 计算所有排列,包括所有子列表
问题描述
例如,如果我有一个列表:
my_list = [a,b,c,d]
如何计算所有排列,包括所有子组的排列。此示例的部分结果将是:
permutations = [a,b,c,d,ab,ba,ac,ca,...,abc,acb,abd,...,abcd,abdc,acdb,...]
解决方案
您可以在从 1 到长度的范围内迭代大小,my_list
并用于itertools.permutations
获取给定大小的所有排列:
from itertools import permutations
my_list = ['a','b','c','d']
[''.join(p) for i in range(1, len(my_list) + 1) for p in permutations(my_list, i)]
这将返回:
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'ba', 'bc', 'bd', 'ca', 'cb', 'cd', 'da', 'db', 'dc', 'abc', 'abd', 'acb', 'acd', 'adb', 'adc', 'bac', 'bad', 'bca', 'bcd', 'bda', 'bdc', 'cab', 'cad', 'cba', 'cbd', 'cda', 'cdb', 'dab', 'dac', 'dba', 'dbc', 'dca', 'dcb', 'abcd', 'abdc', 'acbd', 'acdb', 'adbc', 'adcb', 'bacd', 'badc', 'bcad', 'bcda', 'bdac', 'bdca', 'cabd', 'cadb', 'cbad', 'cbda', 'cdab', 'cdba', 'dabc', 'dacb', 'dbac', 'dbca', 'dcab', 'dcba']
推荐阅读
- postgresql - psql中数据类型文本的序列列
- file - 保存类型 Windows 10 中缺少文件格式 .dwg/.dxf
- ejabberd - 我可以在 ejabberd 上创建自定义 REST API 吗?
- flutter - 暂停代码的持续时间
- php - 使用 Laravel insert eloquent 后获取存储项的 id
- maven - 如有必要,如何使用 flyway 执行 sql 脚本?
- r - RedditExtractoR:reddit_urls() 不返回所有结果
- python-3.x - 400 调用者的项目与父项目不匹配
- node.js - Elasticsearch 抛出 resource_already_exists_exception
- vuetify.js - Vuetify 如何添加
到 v-text-field 错误消息