Python3 返回string中某元素所有的index

str.index(sub[, start[, end]] ) 只能返回范围内的第一次出现该元素的index,但有的时候我们想要返回string内此元素所有的index,可以这样做
find_all = lambda c, s: [x for x in range(c.find(s), len(c)) if c[x] == s]
S = 'loveleetcode'
C = 'e'
index_all = find_all(S, C) # [3, 5, 6, 11]

还有一种做法是用正则表达式来做:

import re
[m.start() for m in re.finditer('test', 'test test test test')]
#[0, 5, 10, 15]

[m.start() for m in re.finditer('e', 'loveleetcode')]
#[3, 5, 6, 11]

参考:https://stackoverflow.com/questions/4664850/find-all-occurrences-of-a-substring-in-python

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值