【发布时间】:2021-06-02 14:22:04
【问题描述】:
#!/usr/bin/python
import itertools
list1 = ['XTN','XES','XSD','XRT','XLI','XME','XLE','XLF','XAR','XLB','XHE','XLK','XLY','XHB','XBI','XLP','XLV','XPH','XLU']
perm = list(itertools.permutations(list1))
print(perm)
您好,上面的代码在一个大小合适的实例或工作站上得到了“Killed”,而且它的运行时间无论如何都是不可接受的。
我的问题是,对于给定的列表,我想置换排列但产生所有,例如,“A”、“B”、“C”
A
B
C
AB
AC
BC
等等 - 任何人都有代码可以为任意列表执行此操作而不挤压机器?
【问题讨论】:
-
你期待什么?你有 19 个元素,所以 19 个! ~= 10^17 排列。地球上没有计算机会保存或打印它们。
-
格式化代码块可以提高问题的可读性。
标签: python list combinations permutation