[问题] ValueError: substring not found

楼主: PHONm (USA~USA)   2016-07-05 12:13:44
我想要把所有'a'的index找出,我知道有正规画表示法,
但在自己在试写的时候出现了下面问题,请帮忙解惑,感谢大家!
x = 'An apple a day, keeps the doctor away'
i= 0
j = []
while x.index('a',i) is not None:
i = x.index('a',i) + 1
j.append(x.index('a',i))
print(j) #如果这边往左移,不放在while循环内则会不显示j序列,不知道为什么@@!
作者: mikapauli (桜花)   2016-07-05 12:55:00
help(str.index) 看一下吧
作者: marksmanz   2016-07-05 13:04:00
j = [ idx for idx, c in enumerate(x, start = 1) if c == 'a']
楼主: PHONm (USA~USA)   2016-07-05 13:18:00
感谢一楼! 看完解释突然懂了 因为最后找不到值后会引起error,我以为只是回传None而已@@! 感谢用二楼提供的以解决,感谢!
作者: Yshuan (倚絃)   2016-07-05 15:32:00
我会选择enumerate再filter ...
作者: uranusjr (←這人是超級笨蛋)   2016-07-05 16:37:00
其实你原本的程式改用 find 然后改 != -1 就可以了...文件要好好读啊 http://bit.ly/29sYuoJ
作者: bigpigbigpig (To littlepig with love)   2016-07-05 20:25:00
https://ideone.com/8ztbrs,find 比 index 温和些

Links booklink

Contact Us: admin [ a t ] ucptt.com