Python批量修改列表中的值:enumerate函数及其在for循环中的作用

介绍

enumerate常用语循环语句中的计数作用
enumerate可在列标前增加索引,或利用索引来完成循环或迭代中的任务


用for循环进行迭代

  • 普通循环中迭代所有对象
values = ['a','b','c','d']
for i in values:
    print(i)
  • 输出
a
b
c
d
  • 在这个for循环中,循环的对象是i,如果我们想在打印迭代对象的同时,为打印的值添加一个索引该怎么办?
  • 完成这个任务的方法是创建一个变量来储存索引并在每次迭代时更新它
index=1
values = ['a','b','c','d']
for i in values:
    print(index,i)
    index += 1
  • 输出结果
1 a
2 b
3 c
4 d

enumerate()函数的用法

语法:
enumerate(sequence, start=0)

enumerate()是一个内建函数,因此在任何版本的Python中都可以使用
index默认参数为0

values = ['a','b','c','d']
for count, value in enumerate(values):
    print(count, value)

输出结果:

0 a
1 b
2 c
3 d

也可以从一开始,只需要将index改成start=1

for count, value in enumerate(values, start=1):
    print(count, value)

输出结果:

1 a
2 b
3 c
4 d

练习:利用enumerate迭代方法找出一组数据的偶数项

def even_picker(iterable):
    empty=[]
    for i, value in enumerate(iterable, start=1):
        if not i % 2:
            empty.append(value)
    return empty

even_picker([3,5,2,7,3,4,9,0])

输出结果

[5, 7, 4, 0]

极简写法:

def even_picker(iterable):
    return [v for i, v in enumerate(iterable, start=1) if not i % 2]

even_picker([3,5,2,7,3,4,9,0])

输出结果

[5, 7, 4, 0]

希望对您有所帮助


参考资料

[1] Python enumerate: Simplify Looping With Counters

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值