对于集合
集合本身就有不重复性,itertools在py3中返回的是一个地址,需要转成list才可以打印出来
from itertools import combinations
s={"Q","w","w","w","q","q","e"}
print(combinations(s,3))
print(list(combinations(s,3)))
打印:
<itertools.combinations object at 0x0000015655AC88B8>
[('w', 'Q', 'q'), ('w', 'Q', 'e'), ('w', 'q', 'e'), ('Q', 'q', 'e')]
输入集合,排序的时候回自动去重
对于列表
from itertools import combinations s=["w","w","q","q","e"] print(combinations(s,2)) print(list(combinations(s,2)))
打印:
<itertools.combinations object at 0x0000015FBE3488B8>
[('w', 'w'), ('w', 'q'), ('w', 'q'), ('w', 'e'), ('w', 'q'), ('w', 'q'), ('w', 'e'), ('q', 'q'), ('q', 'e'), ('q', 'e')]
列表包含打印的全部(不包括自己和自己的组合以外)的组合
本文探讨了Python中集合和列表使用itertools库进行组合操作的方法,详细讲解了如何利用combinations函数生成不重复的组合,展示了集合的自动去重特性及列表组合的全排列过程。
1万+

被折叠的 条评论
为什么被折叠?



