例如,
在此列表中
myFile = ['aweys:5\n', 'baaa: 7\n']
如何以最快的方式找到包含' aweys'的元素的位置?
我试过了
if any('aweys' in s for s in myFile)
但我不确定如何找到字符串所在的列表中的哪个索引。
答案 0 :(得分:3)
for i, val in enumerate(myFile):
if 'aweys' in val:
print 'aweys is found at index %d' % i
获取索引和字符串元组的其他方法
print filter(lambda s: 'aweys' in s[1], enumerate(myFile))
答案 1 :(得分:1)
def find(value, array):
index = 0
for val in array:
if value in val:
return index
index += 1
return -1
这会在value
中找到array
的第一次出现并返回该位置,如果找不到任何内容,则返回-1
。
如果您知道值的确切名称,可以使用[].index(item_value)
答案 2 :(得分:1)
对于包含每个索引的元组的列表(如果找到多个索引)和完整值,请尝试以下操作:
>>> myFile = ['aweys:5\n', 'baaa: 7\n']
>>> found = [(i, v) for i, v in enumerate(myFile) if 'aweys' in v]
>>> print(found)
[(0, 'aweys:5\n')]