95
mylist = ["aa123", "bb2322", "aa354", "cc332", "ab334", "333aa"]

を含むすべてのアイテムのインデックス位置が必要'aa'です。enumerate()部分文字列一致との組み合わせに問題があります。enumerate を使用する必要があるかどうかさえわかりません。

インデックス位置を返すだけです: 0,2,5

4

4 に答える 4

155

リスト内包表記enumerate内で使用できます:

indices = [i for i, s in enumerate(mylist) if 'aa' in s]
于 2013-02-13T08:29:31.360 に答える
23

使用するというあなたの考えenumerate()は正しかった。

indices = []
for i, elem in enumerate(mylist):
    if 'aa' in elem:
        indices.append(i)

または、リスト内包として:

indices = [i for i, elem in enumerate(mylist) if 'aa' in elem]
于 2013-02-13T08:28:48.113 に答える
13

なしenumerate():

>>> mylist = ["aa123", "bb2322", "aa354", "cc332", "ab334", "333aa"]
>>> l = [mylist.index(i) for i in mylist if 'aa' in i]
>>> l
[0, 2, 5]
于 2013-02-13T08:30:37.193 に答える