假设我有一个列表:
list1 = [1, 2, 8, 0, 1, 0, 1]
index = 2
如何找到每个1与我的索引之间的距离?例如,[0]和[2]或[2]和[4]或[2]和[6]之间的距离是多少? ([0],[4]和[6]都是1,[2]是我的索引值。)
在这种情况下,输出应如下所示:
>> [2, 2, 4]
[抱歉,我真的是Stack Overflow的新手,请原谅我在问题写作技巧方面可能存在的任何缺陷。
我认为这是您想要的,但是我认为您下次必须发布自己的代码。 :)
list1 = [1, 2, 8, 0, 1, 0, 1]
index = 2
result = []
for idx, val in enumerate(list1):
if val == 1:
result.append(abs(index - idx))
print(result)
嗯。我不知道是否有花哨的方法可以做到这一点(我的意思是内置函数)。我会这样:
lis1 = [1, 2, 8, 0, 1, 0, 1]
index = 2
indexes = []
for loop_index, item in list1:
if item == index:
indexes.append(loop_index)
将这些值附加到索引数组,您可以使用相同的逻辑使这些值在另一个循环中有所不同