【发布时间】:2020-11-07 17:26:29
【问题描述】:
def find_even_index(arr):
for a in arr:
b = arr.index(a)
if sum(arr[b+1:]) == sum(arr[:b]):
return b
return -1
find_even_index([20,10,30,10,10,15,35])
>>> -1
我的代码适用于所有类型的数据,除非它在数字之前或之后遇到相同的数字。其他 10 的索引没有变化。为什么?
【问题讨论】:
-
arr.index(a)返回匹配a的第一个索引。如果有重复,它不会做你期望的。 -
你为什么要遍历元素?只需遍历索引:
for b in range(len(arr)): -
谢谢@Barmar,你是最棒的:)
标签: python python-3.x for-loop if-statement sum