Поиск и замена значения в списке (list)
Как поменять значение 13 на 3 в а=[«вв», 13, «цн»] Не меняя другие значения и не зная на каком месте стоит 13. (Не используя следующую запись а[1] )?
Отслеживать
7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
задан 26 янв 2022 в 6:47
7 4 4 бронзовых знака
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Второй вариант найти индекс для 13 и заменить на 3
a=["вв", 13, "цн"] a[a.index(13)] = 3 print(a) # OUT # ['вв', 3, 'цн']
Отслеживать
ответ дан 26 янв 2022 в 7:16
7,797 13 13 золотых знаков 25 25 серебряных знаков 55 55 бронзовых знаков
Но будет проблема, если таких элементов несколько ) Поменяется только первый
26 янв 2022 в 7:17
Абсолютно, но этого нет в условии, что список хранит несколько значений и надо заменить все)
26 янв 2022 в 7:20
Вам поможет списковое сокращение и тернарный оператор:
a = [3 if x == 13 else x for x in a] ^^^^^^^^^^^^^^^^^^^ -- тернарный оператор ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- списковое сокращение
Если создавать новый список нельзя, а нужно обязательно менять старый список, то просто перебираете его индексы и элементы и заменяете подходящий элемент:
for i,x in enumerate(a): if x == 13: a[i] = 3
Полное руководство по замене элементов списка на Python
Существует три способа заменить элемент в списке на Python. Для этого можно использовать обращение к элементу по индексу или перебор всего списка в цикле for. Если вы хотите создать новый список на основе существующего и внести в него изменения, вы также можете использовать list comprehension (генератор списка).
В повседневной практике необходимость изменить одно или несколько значений в списке возникает довольно часто. Предположим, вы создаете меню для ресторана и замечаете, что неправильно определили один из пунктов. Чтобы исправить подобную ошибку, вам нужно просто заменить существующий элемент в списке.
Замена элемента в списке на Python
Вы можете заменить элемент в списке на Python, используя цикл for, обращение по индексу или list comprehension. Первые два метода изменяют существующий список, а последний создает новый с заданными изменениями.
Давайте кратко опишем каждый метод:
- Обращение по индексу: мы используем порядковый номер элемента списка для изменения его значения. Знак равенства используется для присвоения нового значения выбранному элементу.
- List comprehension или генератор списка создает новый список из существующего. Синтаксис list comprehension позволяет добавлять различные условия для определения значений в новом списке.
- Цикл For выполняет итерацию по элементам списка. Для внесения изменений в данном случае используется обращение по индексу. Мы применяем метод enumerate() для создания двух списков: с индексами и с соответствующими значениями элементов — и итерируем по ним.
В этом руководстве мы рассмотрим каждый из этих методов. Для более полного понимания приведенных подходов мы также подготовили примеры использования каждого из них.
Замена элемента в списке на Python: обращение по индексу
Самый простой способ заменить элемент в списке — это использовать синтаксис обращения к элементам по индексу. Такой способ позволяет выбрать один элемент или диапазон последовательных элементов, а с помощью оператора присваивания вы можете изменить значение в заданной позиции списка.
Представим, что мы создаем программу, которая хранит информацию о ценах в магазине одежды. Цена первого товара в нашем списке должна быть увеличена на $2.
Начнем с создания списка, который содержит цены на наши товары:
Артём Санников
Данная книга является руководством для начинающих специалистов в области анализа и обработки данных. В книге рассматривается язык SQL и его процедурное расширение PL/SQL от компании Oracle.

Главная › Языки программирования › Python › Списки › Изменение элементов в списке Python
Изменение элементов в списке Python
Синтаксис изменения элемента напоминает синтаксис обращения к элементу списка. Чтобы изменить элемент, необходимо написать имя списка, а затем в квадратных скобках указать индекс изменяемого элемента. А затем присвоить новое значение этому элементу.
# Список фамилий пользователей users = ['Иванов', 'Сидоров', 'Петров', 'Иванов'] print(users) # Производим изменение первого элемента в списке users[0] = 'Пупкин' # Выводим измененный список print(users) # Финальный результат в консоли ['Пупкин', 'Сидоров', 'Петров', 'Иванов']
Записи по теме
- Проверка отсутствия значения в списке Python
- Проверка вхождения значения в список Python
- Копирование списка в Python
- Перебор содержимого среза списка в Python
- Срез для списка в Python
- Генератор списков в Python
- Создание числового списка при помощи range() в Python
- Перебор всего списка в Python
Как заменить значения в списке в Python
Часто вас может заинтересовать замена одного или нескольких значений в списке в Python.
К счастью, это легко сделать в Python, и в этом руководстве дается несколько различных примеров того, как это сделать.
Пример 1. Замена одного значения в списке
Следующий синтаксис показывает, как заменить одно значение в списке в Python:
#create list of 4 items **x = ['a', 'b', 'c', 'd'] #replace first item in list **x[ 0 ] = 'z' #view updated list **x ['z', 'b', 'c', 'd']
Пример 2. Замена нескольких значений в списке
Следующий синтаксис показывает, как заменить несколько значений в списке в Python:
#create list of 4 items **x = ['a', 'b', 'c', 'd'] #replace first three items in list **x[ 0:3 ] = ['x', 'y', 'z'] #view updated list **x ['x', 'y', 'z', 'd']
Пример 3. Замена определенных значений в списке
Следующий синтаксис показывает, как заменить определенные значения в списке в Python:
#create list of 6 items y = [1, 1, 1, 2, 3, 7] #replace 1's with 0's y = [0 if x==1 else x for x in y] #view updated list y [0, 0, 0, 2, 3, 7]
Вы также можете использовать следующий синтаксис для замены значений, превышающих определенный порог:
#create list of 6 items y = [1, 1, 1, 2, 3, 7] #replace all values above 1 with a '0' y = [0 if x>1 else x for x in y] #view updated list y [1, 1, 1, 0, 0, 0]
Точно так же вы можете заменить значения, которые меньше или равны некоторому порогу:
#create list of 6 items y = [1, 1, 1, 2, 3, 7] #replace all values less than or equal to 2 a '0' y = [0 if x
Найдите больше руководств по Python здесь .