【发布时间】:2016-05-08 02:49:06
【问题描述】:
如何在不使用 find 函数的情况下找到一个字母在字符串中的位置。
我会使用范围和长度函数的组合吗?
更新:我试图在不使用 find 函数的情况下查找字符串中字符的位置,例如 ('c','cat') c 位于零位置
【问题讨论】:
-
请指定您正在谈论的编程语言。 :)
标签: python string python-3.x text
如何在不使用 find 函数的情况下找到一个字母在字符串中的位置。
我会使用范围和长度函数的组合吗?
更新:我试图在不使用 find 函数的情况下查找字符串中字符的位置,例如 ('c','cat') c 位于零位置
【问题讨论】:
标签: python string python-3.x text
使用enumerate:
>>> s = 'foobar'
>>> l = 'o'
>>> [i for i,j in enumerate(s) if j==l]
[1, 2]
【讨论】:
此函数与 Python 字符串的find() 方法的作用相同(对于整个字符串不允许可选的start和end参数):
def my_find(string_, letter):
for index, sub in enumerate(string_):
if sub == letter:
return index
return -1
现在:
>>> s = 'abcabc'
>>> s.find('b')
1
>>> s.find('x')
-1
>>> my_find(s, 'b')
1
>>> my_find(s, 'x')
-1
【讨论】:
letter 超过一个字符时,这将不起作用。