【问题标题】:searching through strings without using a find function python 3 [closed]在不使用查找函数python 3的情况下搜索字符串[关闭]
【发布时间】:2016-05-08 02:49:06
【问题描述】:

如何在不使用 find 函数的情况下找到一个字母在字符串中的位置。

我会使用范围和长度函数的组合吗?

更新:我试图在不使用 find 函数的情况下查找字符串中字符的位置,例如 ('c','cat') c 位于零位置

【问题讨论】:

  • 请指定您正在谈论的编程语言。 :)

标签: python string python-3.x text


【解决方案1】:

使用enumerate

>>> s = 'foobar'
>>> l = 'o'
>>> [i for i,j in enumerate(s) if j==l]
[1, 2]

【讨论】:

    【解决方案2】:

    此函数与 Python 字符串的find() 方法的作用相同(对于整个字符串不允许可选的startend参数):

    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 超过一个字符时,这将不起作用。
    • 是的,一个字母代表一个字符。 OP 没有要求进行子字符串搜索。
    猜你喜欢
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-25
    • 2014-07-10
    • 2019-04-13
    • 1970-01-01
    相关资源
    最近更新 更多