如何在数组中查找非字符串索引

이원석*_*이원석 0 python string integer indices python-3.x

有一个像

a = ['string', '1', '2', 'string2', '4', 'string5', '5' ...]
Run Code Online (Sandbox Code Playgroud)

我怎样才能找到像这样的非字符串索引

[1,2,4,6 ...]
Run Code Online (Sandbox Code Playgroud)

它不起作用如果我使用

isinstance(a, str)
Run Code Online (Sandbox Code Playgroud)

May*_*wal 5

如果你listintegers和字符串,你可以使用isnumericwith List Comprehension

In [843]: a = ['string', '1', '2', 'string2', '4', 'string5', '5']

In [847]: ans = [a.index(i) for i in a if i.isnumeric()]

In [848]: ans
Out[848]: [1, 2, 4, 6]
Run Code Online (Sandbox Code Playgroud)

或者,enumerate按照@MushifAliNawaz 的评论使用:

In [874]: ans = [c for c,i in enumerate(a) if i.isnumeric()]

In [875]: ans
Out[875]: [1, 2, 4, 6]
Run Code Online (Sandbox Code Playgroud)