python值itertools模块

Posted 我不是高斯分布

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python值itertools模块相关的知识,希望对你有一定的参考价值。

一、介绍

  itertools 是python的迭代器模块,itertools提供的工具相当高效且节省内存。使用这些工具,你将能够创建自己定制的迭代器用于高效率的循环。

 

 


 

 

二、模块使用与代码

 

1、元素的组合

  itertools.combinations(iterable, r)

  • iterable:一个可迭代对象。
  • r:取tierable对象中r个元素进行组合。

 

  注意:函数返回的时一个迭代器。

 

代码示例:

import itertools

x=[1,2,3]

combin_1=itertools.combinations(x,1)    #取1个数进行组合,生成的时一个迭代器
combin_2=itertools.combinations(x,2)    #取2个数进行组合,生成的是一个迭代器

print(combin_1:,list(combin_1))   #将迭代器转为列表并打印

print(
combin_1、combin_2的数据类型:,type(combin_1))

print(
输出迭代器每次迭代内容:)
for i in combin_2:
    print(i)



‘‘‘
结果:

combin_1: [(1,), (2,), (3,)]

combin_1、combin_2的数据类型: <class ‘itertools.combinations‘>

输出迭代器每次迭代内容:
(1, 2)
(1, 3)
(2, 3)

‘‘‘

 

2、数据的排列

  itertools.combinations(iterable, r)

  • iterable:一个可迭代对象。
  • r:取tierable对象中r个元素进行组合。

 

  注意:函数返回的时一个迭代器。

 

import itertools

x=[1,2,3]

combin_1=itertools.permutations(x,1)    #取1个数进行组合,生成的时一个迭代器
combin_2=itertools.permutations(x,2)    #取2个数进行组合,生成的是一个迭代器

print(combin_1:,list(combin_1))   #将迭代器转为列表并打印

print(
combin_1、combin_2的数据类型:,type(combin_1))

print(
输出迭代器每次迭代内容:)
for i in combin_2:
    print(i)


‘‘‘
结果:

combin_1: [(1,), (2,), (3,)]

combin_1、combin_2的数据类型: <class ‘itertools.permutations‘>

输出迭代器每次迭代内容:
(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)

‘‘‘

 

以上是关于python值itertools模块的主要内容,如果未能解决你的问题,请参考以下文章

python 高效的 itertools 模块

python - itertools 模块

Python itertools模块详解

python,itertools模块

Python的itertools模块

Python的itertools模块