我有一个数组,如果目标匹配,我需要返回一个元素的索引,而不使用index()。
例如我们有一个= [12,31,45,67,100,101]。 如果目标是101,我们将返回5,否则返回-1。
我做的是:
def target_meet(a,t):
for i in range(len(a)):
if a[i]==t:
return i
else:
return -1
它给了我错误的输出。 请帮助。
感谢。
答案 0 :(得分:1)
您可以简单地使用枚举:
一线解决方案:
a=[12,31,45,67,100,101]
target=101
print([i if j==target else -1 for i,j in enumerate(a)])
输出:
[-1, -1, -1, -1, -1, 5]
详细解决方案:
以上列表理解与:
相同final_result=[]
for i,j in enumerate(a):
if j==target:
final_result.append(i)
else:
final_result.append(-1)
print(final_result)
答案 1 :(得分:0)
def target_meet(a,t):
for i in range(len(a)):
if a[i]==t:
return i
# return -1 after loop finished
return -1
答案 2 :(得分:-1)
def target_meet(a,t):
for i,x in enumerate(a):
if x==t:
return i
return -1