Python迭代工具

在Python中迭代序列时,有一些函数非常好用。有些函数位于itertools模块中,还有一些Python的内建函数十分方便

1.并行迭代

       程序可以同时迭代两个序列。比如有下面两个列表:

        

        如果想要打印名字和对应的年龄,可以像下面这样做:

        

        这里的i是循环索引的标准变量名。

        而内建的zip函数就可以用来进行并行迭代,可以把两个序列压缩在一起,然后返回一个元组的列表:

        

        现在我可以在循环中解包元组:

        

        zip函数也可以作用于任意多的序列。关于它很重要的一点是zip可以处理不等长的序列,当最短的序列用完的时候就会停止:

        


2.翻转和排序迭代

        让我们看看另外两个有用的函数:reversed和sorted。他们同列表的reverse和sort方法类似,但是作用于任何序列可迭代对象上,不是原地修改对象,而是返回翻转或者排序后的版本:

         

         虽然sorted方法返回列表,reversed方法却返回一个更加不可思议的可迭代对象。它们具体的含义不用过多关注,大可在for循环以及join方法中使用,而不会有任何问题。不过却不能直接对他使用索引,分片以及调用list方法,如果希望进行上述处理,那么可以使用list类型转换返回的对象。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值