Jak zamienić wartości na liście w Pythonie?
W tym artykule zobaczymy, jak zastąpić wartość na liście za pomocą języka Python. Wartości na liście możemy zastępować na różne sposoby. Poniżej znajdują się metody zastępowania wartości na liście.
- Korzystanie z indeksowania list
- Używanie pętli for
- Użycie pętli while
- Korzystanie z funkcji lambda
- Korzystanie z dzielenia listy
Metoda 1: Korzystanie z indeksowania list
Dostęp do elementów listy możemy uzyskać za pomocą indeksowania. Jest to najprostsza i najłatwiejsza metoda zamiany wartości na liście w Pythonie. Jeśli chcemy zastąpić pierwszą pozycję listy, możemy to zrobić za pomocą indeksu 0. Tutaj poniżej indeks jest indeksem pozycji, którą chcemy zastąpić, a nowa_wartość to wartość, która powinna zastąpić starą wartość na liście.
Składnia: l[indeks]=nowa_wartość
Kod:
Python3
# Replace Values in a List using indexing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace first value> l[> 0> ]> => 'Shardul'> # print list> print> (l)> |
Wyjście:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']
Metoda 2: Używanie Dla pętli
Możemy używać pętli for do iteracji po liście i zastępowania wartości na liście. Załóżmy, że chcemy zastąpić „Hardik” i „Pant” z listy słowami „Shardul” i „Ishan”. Najpierw znajdujemy wartości na liście za pomocą pętli for i warunku if, a następnie zastępujemy je nową wartością.
Python3
# Replace Values in a List using For Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> for> i> in> range> (> len> (l)):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> # print list> print> (l)> |
Wyjście:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Metoda 3: Używanie Podczas gdy Pętla
Możemy także użyć pętli while do zastąpienia wartości na liście. Pętla while działa tak samo jak pętla for. Najpierw w pętli while definiujemy zmienną o wartości 0 i wykonujemy iterację po liście. Jeśli wartość pasuje do wartości, którą chcemy zastąpić, zastępujemy ją nową wartością.
Python3
# Replace Values in a List using While Loop> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> i> => 0> while> i <> len> (l):> > # replace hardik with shardul> > if> l[i]> => => 'Hardik'> :> > l[i]> => 'Shardul'> > # replace pant with ishan> > if> l[i]> => => 'Pant'> :> > l[i]> => 'Ishan'> > i> +> => 1> # print list> print> (l)> |
Wyjście:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Metoda 4: Używanie Funkcja Lambdy
W tej metodzie do zastąpienia wartości na liście używamy funkcji lambda i map. map() to wbudowana funkcja w Pythonie umożliwiająca iterację po liście bez użycia instrukcji pętli. Lambda to anonimowa funkcja w Pythonie zawierająca jednoliniowe wyrażenie. Tutaj podaliśmy jedno wyrażenie jako warunek zastąpienia wartości. Tutaj zastępujemy „Pant” przez „Ishan” w funkcji lambda. Następnie za pomocą funkcji list() konwertujemy obiekt mapy na listę.
Składnia: l=list(map(lambda x: x.replace('stara_wartość','nowa_wartość'),l))
Python3
# Replace Values in a List using Lambda Function> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Pant with Ishan> l> => list> (> map> (> lambda> x: x.replace(> 'Pant'> ,> 'Ishan'> ), l))> # print list> print> (l)> |
Wyjście:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']
Metoda 5: Używanie Krojenie listy
Python pozwala nam wycinać wewnątrz listy. Krojenie umożliwia nam dostęp do niektórych części listy. Możemy zastąpić wartości wewnątrz listy za pomocą krojenia. Najpierw znajdujemy indeks zmiennej, którą chcemy zastąpić i przechowujemy go w zmiennej „i”. Następnie zastępujemy ten element nową wartością, korzystając z dzielenia listy. Załóżmy, że chcemy zastąpić „Rahul” słowem „Shikhar”, a następnie najpierw znajdujemy indeks „Rahul”, a następnie wycinamy listę i usuwamy „Rahul” i dodajemy w tym miejscu „Shikhar”.
Składnia: l=l[:indeks]+[„nowa_wartość”]+l[indeks+1:]
Python3
# Replace Values in a List using Slicing> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # find the index of Rahul> i> => l.index(> 'Rahul'> )> # replace Rahul with Shikhar> l> => l[:i]> +> [> 'Shikhar'> ]> +> l[i> +> 1> :]> # print list> print> (l)> |
Wyjście:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
Metoda 6: Używanie functools.reduce metoda:
Algorytm:
- Importuj metodę redukcji z functools.
- zainicjuj listę testów.
- Użyj metody redukcji na liście testowej, która sprawdzi element na liście i zastąpi go nową wartością.
- Wydrukuj nową listę.
Pyton
# Replace Values in a List using reduce> from> functools> import> reduce> # define list> l> => [> 'Hardik'> ,> 'Rohit'> ,> 'Rahul'> ,> 'Virat'> ,> 'Pant'> ]> # replace Rahul with Shikhar> l> => reduce> (> lambda> a, b : a> +> [> 'Shikhar'> ]> if> b> => => 'Rahul'> else> a> +> [b], l , [])> # print list> print> (l)> |
Wyjście
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']
Złożoność czasowa: O(N), gdzie n jest długością listy wejściowej.
Przestrzeń pomocnicza: O(k), gdzie k jest długością nowej listy z nową wartością.