python 通过索引迭代列表_5.4.14Python下通过索引编号迭代序列

Posted by 撒得一地 on 2016年4月2日 in python教程

国外稳定加速器推荐

vypr |

Nord

有些时候想要迭代序列中的对象,同时还要获取当前对象的索引。例如,在一个字符串列表中替换索引包含“abc”的字符串。实现的方法有很多,比如可以用下面这种方法:

>>> list = ['abc','abcde','ff','abc']

>>> for string in list:

...     if 'abc' in string:

...             index = list.index(string)

...             list[index] = 'ccc'

...

>>> list

['ccc', 'ccc', 'ff', 'ccc']

上面的例子中,不好的地方在于在替换字符串前还要搜索给定的字符串。还有另一种比较好的方法,如:

>>> list = ['abc','abcde','ff','abc']

>>> index = 0

>>> for string in list:

...     if "abc" in string:

...             list[index] = "ccc"

...     index += 1

...

>>> list

['ccc', 'ccc', 'ff', 'ccc']

另一种方法是使用内建的enumerate函数:

>>> list = ['abc','abcde','ff','abc']

>>> for (index,string) in enumerate(list):

...     if "abc" in string:

...             list[index] = "ccc"

...

>>> list

['ccc', 'ccc', 'ff', 'ccc']

enumerate函数可以在提供索引的地方迭代索引-值(键值)对。

... other posts by psz1992

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值