我有一个随机生成的列表,可能看起来像这样:
[1, 0, 0, 1, 1, 0, 1, 0, 0, 0]
我需要找出所有1之间的距离,包括循环的部分。
举个例子,在上面的列表中,第一个1到下一个1的距离为3。第二个1到下一个1的距离为1,依此类推。
如何使用循环到第一个1找出列表中最后一个1的距离?
def calc_dist(loc_c):
first = []
#lst2 = []
count = 0
for i in range(len(loc_c)):
if loc_c[i] == 0:
count += 1
#lst2.append(0)
elif loc_c[i] == 1:
first.append(i)
count += 1
loc_c[i] = count
#lst2.append(loc_c[i])
#if loc_c[i] + count > len(loc_c):
# x = loc_c[first[0] + 11 % len(loc_c)]
# loc_c[i] = x
count = 0
return loc_c
我期望的结果应该是[3, 1, 2, 4]。
4
,那么找到第一个1
的索引和最后一个1
的索引,然后你的结果将是列表长度-最后一个1
的索引+第一个1
的索引。 - ashish pal