Как найти расстояние между указанными c элементами и единицами? - Python3 - PullRequest
0 голосов
/ 31 марта 2020

Допустим, у меня есть список:

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, поэтому, пожалуйста, извините меня за любой недостаток в моих навыках письма.

Ответы [ 2 ]

0 голосов
/ 31 марта 2020

Хорошо. Я не знаю, есть ли причудливый способ сделать это (под этим я подразумеваю встроенную функцию). Я хотел бы сделать так:

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

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

Добавив эти значения в массив indexes, вы можете сделать разницу этих значений на другом l oop, используя ту же логику

0 голосов
/ 31 марта 2020

Я думаю, это то, что вы ищете, но я думаю, что вы должны опубликовать свой собственный код в следующий раз. :)

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)
...