У цій статті ми побачимо, як замінити значення в списку за допомогою Python. Ми можемо замінювати значення в списку сервальними способами. Нижче наведено методи заміни значень у списку.
- Використання індексації списків
- Використання циклу for
- Використання циклу while
- Використання лямбда-функції
- Використання нарізки списку
Спосіб 1: Використання індексування списку
Ми можемо отримати доступ до елементів списку за допомогою індексації. Це найпростіший і найлегший спосіб заміни значень у списку в Python. Якщо ми хочемо замінити перший елемент списку, ми можемо вказати індекс 0. Тут нижче індекс – це індекс елемента, який ми хочемо замінити, а new_value – це значення, яке має замінити старе значення в списку.
Синтаксис: l[індекс]=нове_значення
код:
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)> |
>
>
Вихід:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Pant']>
Спосіб 2: Використання Для циклу
Ми можемо використовувати цикл for для перебору списку та заміни значень у списку. Припустімо, ми хочемо замінити «Hardik» і «Pant» зі списку на «Shardul» і «Ishan». Спочатку ми знаходимо значення в списку за допомогою циклу for і умови if, а потім замінюємо його новим значенням.
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)> |
>
>
Вихід:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Спосіб 3: Використання Цикл while
Ми також можемо використовувати цикл while для заміни значень у списку. Цикл while виконує ту саму роботу, що й цикл for. Спочатку в циклі while ми визначаємо змінну зі значенням 0 і виконуємо ітерацію по списку. Якщо значення збігається зі значенням, яке ми хочемо замінити, ми замінюємо його новим значенням.
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)> |
>
>
Вихід:
['Shardul', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Спосіб 4: Використання Лямбда-функція
У цьому методі ми використовуємо лямбда-функцію та функцію map для заміни значення в списку. map() — це вбудована функція в Python для перебору списку без використання оператора циклу. Лямбда — це анонімна функція в Python, яка містить однорядковий вираз. Тут ми дали один вираз як умову для заміни значення. Тут ми замінюємо «Pant» на «Ishan» у лямбда-функції. Потім за допомогою функції list() ми перетворюємо об’єкт карти на список.
Синтаксис: l=list(map(lambda x: x.replace(‘old_value’,’new_value’),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)> |
>
>
Вихід:
['Hardik', 'Rohit', 'Rahul', 'Virat', 'Ishan']>
Спосіб 5: Використання Нарізка списку
Python дозволяє нам робити нарізку всередині списку. Нарізка дає нам доступ до деяких частин списку. Ми можемо замінити значення всередині списку за допомогою нарізки. Спочатку ми знаходимо індекс змінної, яку хочемо замінити, і зберігаємо його в змінній «i». Потім ми замінюємо цей елемент новим значенням за допомогою нарізки списку. Припустімо, що ми хочемо замінити «Rahul» на «Shikhar», тоді ми спочатку знаходимо індекс «Rahul», а потім розрізаємо список і видаляємо «Rahul» і додаємо «Shikhar» у цьому місці.
Синтаксис: l=l[:індекс]+[‘нове_значення’]+l[індекс+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)> |
>
>
Вихід:
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Спосіб 6: Використання functools.reduce метод:
Алгоритм:
- Імпортувати метод зменшення з functools.
- ініціалізувати список тестів.
- Використовуйте метод зменшення в тестовому списку, який перевіряє наявність елемента в списку та замінює його новим значенням.
- Роздрукувати новий список.
Python
фрейм tkinter
# 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)> |
>
>Вихід
['Hardik', 'Rohit', 'Shikhar', 'Virat', 'Pant']>
Часова складність: O(N), де n — довжина вхідного списку.
Допоміжні приміщення: O(k), де k — довжина нового списку з новим значенням.