Python学习:itertools库 combinations() 和 permutations()

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))
  • 执行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_37960022/article/details/110434470