itertools库combinations和permutations
Python的内建模块itertools提供了非常有用的用于操作迭代对象的函数,包括三大类:无限迭代器,有限序列迭代器,排列组合迭代器。本篇主要介绍排列组合迭代器的两个函数permutations
和combinations
combinations和permutations返回的是对象地址,原因是在python3里面,返回值已经不再是list,而是iterators(迭代器), 所以想要使用,只用将iterator 转换成list 即可。
combinations()
combinations方法重点在组合
combinations(p,r)
p是一个list参数
r是数字,r长度的tuple,按顺序排列,没有重复元素
# 导入itertools库
import itertools
list_1=[1,2,3,4]
# 取list_1的组合,并转换成list
list_2=list(itertools.combinations(list_1,3))
print(list_2)
# 如果不转化成list,结果返回是对象地址
# print(itertools.combinations(list_1,3))
# >>><itertools.combinations object at 0x00000225FA88B270>
permutations()
permutations方法重在排列
permutations(p,r)
p是一个list参数
r是数字,r长度的tuple,所有可能的顺序,没有重复的元素
# 导入itertools库
import itertools
list_1=[1,2,3,4]
# 取list_1的排列,并转换成list
list_2=list(itertools.permutations(list_1,3))
print(list_2)
# 如果不转化成list,结果返回是对象地址
print(itertools.combinations(list_1,3))