Фильтрация значения LIST [i] во время цикла по LIST - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть список:

lst = [3, 2, 1]

Я буду l oop через список, но я хочу исключить lst [i] для каждой итерации. Я видел ответы вроде:

x = [i for i in range(n) if i not in y]

, который создает диапазон чисел и затем исключает определенное значение, но это не работает для моего кода, так как у меня есть список, который я хочу через l oop и число lst [i], которое я хочу исключить. Я не мог вписать это в мой код специально.

Мой псевдо-код выглядит следующим образом:

lst = [3,2,1]
new_lst = []

for i in range(0, len(lst)):

  new_list.append(i) while not including lst[i]

  Multiply everything in the new list (without List[i])
  result = np.prod(new_list)

  print(result)

Пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Вы по существу запрашиваете комбинации размера len(lst) - 1:

from itertools import combinations

lst = [3, 2, 1]
print(list(combinations(lst, len(lst) - 1)))

, которые выводят

[(3, 2), (3, 1), (2, 1)]
1 голос
/ 06 апреля 2020

Используйте срез, который исключает i: lst[:i] + lst[i+1:]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...