python内置函数next()方法用法详解

        python内置函数next通过调用对象的__next__方法从迭代器中取值,当迭代器耗尽又没有为next函数设置default默认值参数,使用next函数将引发StopIteration异常。

源码解析:

def next(iterator, default=None): # real signature unknown; restored from __doc__
    """
    next(iterator[, default])
    
    Return the next item from the iterator. If default is given and the iterator
    is exhausted, it is returned instead of raising StopIteration.
    """
    pass

python中next()的具体的形式为:next(iterobject,defalt)

  • 第一个参数是可迭代的对象
  • 第二个参数可以写也可以不写,不写的时候,如果可迭代的元素取出完毕,会返回StopIteration异常,第二个参数写的时候,当可迭代对象迭代完后,会返回第二个参数写的那个元素。

示例代码1:

str_list = []
for i in range(5):
    str_num = 'num' + str(i+1)
    str_list.append(str_num)

print(str_list)
# 只传第一个参数
it = iter(str_list)
for _ in range(8):
    res = next(it)
    print(res)

运行结果:

示例代码2:

str_list = []
for i in range(5):
    str_num = 'num' + str(i+1)
    str_list.append(str_num)

print(str_list)
# 传两个参数
it = iter(str_list)
for _ in range(8):
    # res = next(it, -1)
    res = next(it, '-1')
    print(res)

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值