在Python中查找列表中另一个字符串中的字符串索引

时间:2014-08-14 00:53:58

标签: python list indexing position

我希望找到包含n个项目列表中另一个字符串的字符串的索引。

MyList = ['acdef','GFDGFDG gfdgfd', 'Blue234 Sky2bas', 'Superman.424', 'baseball']
MyString = 'ball'

我想获得4,因为'baseball'包含'ball'

在寻找确切的字符串时,我可以使用

之类的东西
MyList.index(MyString)

但这不适用于上述情况,因为'ball'只是'baseball'的一部分。

我也想知道如果我搜索一个像'bas'这样的字符串会发生什么,考虑到它在列表的第3和第5项中。

3 个答案:

答案 0 :(得分:1)

MyList = ['acdef','GFDGFDG gfdgfd', 'Blue234 Sky2bas', 'Superman.424', 'baseball']
MyString = 'ball'

>>> [i.find(MyString) for i in MyList if MyString in i]
[4]

另一个例子,'ball'出现多次:

>>> MyOtherList ['foo', 'bar', 'football', 'ballbag', 'foobar']
>>> [i.find(MyString) for i in MyOtherList if MyString in i]
[4, 0]

答案 1 :(得分:0)

您可以使用迭代器在一行中完成。

(i for i,v in enumerate(l) if MyString in i).next()

答案 2 :(得分:0)

[i for i, s in enumerate(MyList) if MyString in s]

执行我正在寻找的内容并使用包含空格的字符串