如何找到特定元素与1之间的距离? -Python3

问题描述 投票:0回答:2

假设我有一个列表:

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的新手,请原谅我在问题写作技巧方面可能存在的任何缺陷。

python python-3.x arraylist distance
2个回答
0
投票

我认为这是您想要的,但是我认为您下次必须发布自己的代码。 :)

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)

0
投票

嗯。我不知道是否有花哨的方法可以做到这一点(我的意思是内置函数)。我会这样:

lis1 = [1, 2, 8, 0, 1, 0, 1]
index = 2
indexes = []

for loop_index, item in list1:
    if item == index:
        indexes.append(loop_index)

将这些值附加到索引数组,您可以使用相同的逻辑使这些值在另一个循环中有所不同

© www.soinside.com 2019 - 2024. All rights reserved.