Python itertools库函数大全

1. accumulate

accumulate函数用于返回一个累积的迭代器,它逐个计算传入迭代器中的元素的累积值

itertools中的accumulate函数接受两个参数:

  1. iterable:这是要进行累积操作的可迭代对象,例如列表、元组或任何可迭代的数据结构。
  2. func (可选):这是一个二元函数(只接受两个参数),用于指定如何计算累积值。如果未提供此参数,accumulate将默认使用加法来计算累积值。

1.1 对数进行累计计算

import itertools

data = [1, 2, 3, 4, 5]

accumulated_data = itertools.accumulate(data)
print(accumulated_data)

for item in accumulated_data:
    print(item)

image-20240227140842912

import itertools

def custom_multiply(x, y):
    return x * y

data = [1, 2, 3, 4, 5]

accumulated_data = itertools.accumulate(data, custom_multiply)

for item in accumulated_data:
    print(item)

image-20240227141152798

1.2 对字符串进行拼接

import itertools

data = ['a', 'bb', 'ccc', 'dddd']

accumulated_data = itertools.accumulate(data, lambda x, y: x + y)

for item in accumulated_data:
    print(item)

image-20240227141327697

2. chain

将多个可迭代对象连接成一个单一的迭代器。它会逐个迭代每个可迭代对象,并在第一个对象耗尽后继续迭代下一个对象,依此类推,直到所有对象都被迭代完为止。

import itertools

a = [1, 2, 3]
b = ['a', 'b', 'c']

chained_iterable = itertools.chain(a, b)

for item in chained_iterable:
    print(item)

image-20240227141629565

3. combinations(组合)

用于生成指定长度的所有可能的组合,其中组合元素取自于给定的可迭代对象。这个函数返回一个迭代器,该迭代器产生元组,每个元组包含指定长度的元素组合。

import itertools

a = ['a', 'b', 'c', 'd']

# 从a中任选三个元素进行排列
for item in itertools.combinations(a, 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值