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('\ncombin_1、combin_2的数据类型:',type(combin_1))

print('\n输出迭代器每次迭代内容:')
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('\ncombin_1、combin_2的数据类型:',type(combin_1))

print('\n输出迭代器每次迭代内容:')
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)

'''

猜你喜欢

转载自www.cnblogs.com/dwithy/p/11653164.html