GeeksforGeeks

Zwykle wymagamy znalezienia indeksu, w którym znajduje się dana wartość. Istnieje wiele metod, aby to osiągnąć, używając index() itp. Ale czasami wymagają, aby znaleźć wszystkie indeksy danej wartości w przypadku, gdy ma ona wiele wystąpień na liście.

Przedyskutujmy niektóre sposoby na znalezienie indeksów wartości w danej liście.

Metoda #1 : Metoda naiwna

Możemy osiągnąć to zadanie przez iterację przez listę i sprawdzić dla tej wartości i po prostu dołączyć indeks wartości w nowej liście i wydrukować to. To jest podstawowa metoda brute force do osiągnięcia tego zadania.

test_list =
print ("Original list : " + str(test_list))
res_list =
for i in range(0, len(test_list)) :
if test_list == 3 :
res_list.append(i)
print ("New indices list : " + str(res_list))



Wyjście:

Original list : New indices list : 

Metoda #2 : Użycie zrozumienia listy

Zrozumienie listy jest tylko techniką skrótu do osiągnięcia zadania brute force, po prostu używa mniej linii kodu do osiągnięcia zadania, a więc oszczędza czas programistów.

test_list =
print ("Original list : " + str(test_list))
res_list = == 3]
print ("New indices list : " + str(res_list))



Wyjście:

Original list : New indices list : 

Metoda #3 : Używając enumerate()
Używając enumerate() możemy osiągnąć podobne zadanie, jest to nieco szybsza technika niż powyższa i stąd jest zalecana do stosowania nad techniką rozumienia listy.

test_list =
print ("Original list : " + str(test_list))
res_list =
print ("New indices list : " + str(res_list))



Wyjście:

Original list : New indices list : 

Metoda #4 : Użycie filter()

Jest to kolejna metoda, która może być zastosowana do realizacji tego konkretnego zadania, filter() zazwyczaj jest w stanie wykonać zadania filtrowania i stąd może być również użyta w tej sytuacji do realizacji tego zadania.

test_list =
print ("Original list : " + str(test_list))
res_list = list(filter(lambda x: test_list == 3, range(len(test_list))))
print ("New indices list : " + str(res_list))



Wyjście:

Original list : New indices list : 

Znaczniki artykułów :
Tagi praktyki :

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.