【问题标题】:Finding the Positions of a Letter that Appear in a String [duplicate]查找出现在字符串中的字母的位置 [重复]
【发布时间】:2014-05-02 22:58:01
【问题描述】:

我有一个相当简单的问题,我似乎无法弄清楚。如何在 Python 2.7 的标题中找到我所要求的内容?让我解释得更好:

假设你有一个字符串:

string = "banana"

我知道如果一个字母在一个字符串中出现一次,你将如何找到它的位置,例如:

string.find("b")

将返回 0。

现在,如果我想找到一个字母在字符串中出现多次的所有位置,我就有问题了。例如:

string.find("a")

会返回 1,但是它也出现在插槽 3 和 4 中。

我要问的是如何确定一个字母出现在字符串中的哪些位置,即使它出现多次?谢谢你的时间。

【问题讨论】:

    标签: python python-2.7


    【解决方案1】:

    如果您使用list comprehensionenumerate,您可以获得某个字符出现的索引列表:

    >>> string = "banana"
    >>>
    >>> list(enumerate(string))  # Just to demonstrate
    [(0, 'b'), (1, 'a'), (2, 'n'), (3, 'a'), (4, 'n'), (5, 'a')]
    >>>
    >>> [x for x,y in enumerate(string) if y == 'a']
    [1, 3, 5]
    >>> [x for x,y in enumerate(string) if y == 'n']
    [2, 4]
    >>>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-12
      • 2011-04-15
      • 2017-10-23
      • 1970-01-01
      • 2016-04-11
      • 2015-06-26
      • 1970-01-01
      • 2017-09-25
      相关资源
      最近更新 更多