迭代器操作函数——python(含有栗子)

本文介绍了Python中的迭代器操作函数,包括all()用于判断序列是否全为真,iter()生成迭代器,next()获取迭代器的下一个元素,any()判断序列是否有假值,sorted()对可迭代对象排序,enumerate()结合数据和下标,filter()按条件过滤序列,zip()打包可迭代对象为元组,map()应用函数到序列并返回结果,以及reverse()对列表进行反向排序。每个函数都配合了实例进行说明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.all()函数——判断序列函数是否为True

语法:all(iterable)
元素除了0,空,False,都是True

2.iter()函数——生成迭代器

语法:iter(object[,sentinel])
例子:
1.自定义函数实现累加计数

class add:
    def __init__(self,_start,_end):
        self.start =_start
        self.end = _end
    def get_next(self):
        s = self.start
        if(self.start < self.end):
            self.start+=1
        else:
            raise  StopAsyncIteration
        return s

a = add(1,5)
iterable=iter(a.get_next,3)
for i in iterable:
    print(i)


#输出结果:
1
2

3.next()函数——获取迭代器的下一个元素

语法:next(iterable[,default])
例子:
1.循环推进迭代器元素,通过try…except抓捕异常

list=iter(["a","b","c","d","e"])
while 1:
    try:
        x=next(list)
        print(x)
    except StopIteration:
        print("迭代器目标结束,执行抛异常代码块")
        break
        
输出结果:
a
b
c
d
e
迭代器目标结束,执行抛异常代码块

4.any()函数——判断序列元素是否为False

语法:any(iterable)
元素除了0,空,False,都是True

5.sortde()函数——对可迭代对象进行排序

语法:Sorted(iterable[,cap[,key[,reverse] )
例子:
1.将列表进行排序,一句列表中元组的第二个下表值进行升序。

student = [("john","A",15),("Jane","B",12),("dave","B",10)]
new = sorted(student,key=lambda x:x[2],reverse=False)
print(new)

输出结果:
[('dave', 'B', 10), ('Jane', 'B', 12), ('john', 'A', 15)]

6.enumerate()函数——将可变利的数据对象组合成带有数据和数据下标的索引序列

语法:enumerata( sequence ,[ start = 0 ])

7.filter()函数——通过指定条件过滤序列并返回新序列对象

语法:filter(function,iterable)
例子:
1.定义列表,实现按照年龄进行筛选,得出年龄10到30岁的信息

def find(a):
    age=int(a[1])
    if age >10and age <30:
        return  True
    else:
        return False
list1= [("123",20),("456",20),("789",19),("256",10),("147",42)]
newlist=filter(find,list1)
print(list(newlist))

输出结果:
[('123', 20), ('456', 20), ('789', 19)]

8.zip()函数——将可迭代的对象打包成元组并返回有元组组成的对象

语法:zip([iterable,…])

9.map()函数——通过自定义函数实现对序列的元素映射操作并返回操作后的结果

语法:map(function ,iterable , …)
例子:
1.生成0-9的数字列表,然后通过map()实现对该列表每一个元素平方计算。

list1=[]
for i in range(10):
    list1.append(i)
def func(x):
    return x**2
resultlist = map(func,list1)
print(list(resultlist))

输出结果:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

10.reverse()函数——对列表元素进行反向排序

语法:reverse()
例子:
1.随机生成数字列表,然后输出该列表,在经过反向排序后,再次输出列表。

import random
list1 = []
for i in range(10):
    list1.append(random.randint(0,20))
print("原顺序:",list1)
print("反向顺序:",list(reversed(list1)))


输出结果:
原顺序: [20, 15, 18, 16, 17, 7, 3, 15, 2, 7]
反向顺序: [7, 2, 15, 3, 7, 17, 16, 18, 15, 20]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值