Mam długą listę liczb zmiennoprzecinkowych od 1 do 5, nazywaną "średnią" i chcę zwrócić listę indeksów dla elementów, które są mniejsze niż lub większe niż bWyszukiwanie indeksów pasujących elementów na liście w Pythonie
def find(lst,a,b):
result = []
for x in lst:
if x<a or x>b:
i = lst.index(x)
result.append(i)
return result
matches = find(average,2,4)
Jednak, co zaskakujące, wyniki dla "dopasowań" mają w nim wiele powtórzeń, np. [2, 2, 10, 2, 2, 2, 19, 2, 10, 2, 2, 42, 2, 2, 10, 2, 2, 2, 10, 2, 2, ...]
.
Dlaczego tak się dzieje?
Możliwy duplikat [Jak znaleźć wszystkie wystąpienia elementu na liście?] (Https://stackoverflow.com/questions/6294179/how-to-find-all-occurrences-of-an-element-in -a-list) – Qiu