如何解决长列表的排列会破坏记忆
#!/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)
嗨,上面的代码在大小合适的实例或站上被“杀死”,无论如何它的运行时间是不可接受的。
我的问题是,对于给定的列表,我想排列排列但产生所有,例如“A”、“B”、“C”
A
B
C
AB
AC
BC
等等 - 任何人都有可以为任意列表执行此操作而不压缩机器的代码?
解决方法
itertools.permutations()
返回一个生成器,因此您可以……不将其转换为列表。
list1 = ['XTN','XES','XSD','XRT','XLI',...]
permutations = itertools.permutations(list1)
for permutation in permutations:
print(permutation)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。