Python

Как заменить элементы в списке Python

В этом руководстве по Python мы рассмотрим как заменить элементы в списке Python с несколькими различными способами и показательными примерами.

Прежде чем углубляться в замену элементов, давайте быстро вспомним, как создать список в Python. Список определяется включением последовательности элементов, разделенных запятыми, в квадратных скобках. []. Например:

usa_cities = ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix"]

В этом примере usa_cities представляет собой список, содержащий названия пяти городов США. Что делать, если мы хотим заменить некоторые элементы в этом списке некоторыми другими элементами?

Замена элементов в списке Python

Есть много разных способов заменить элементы из списка в Python. Они есть:

  • Прямое присвоение с использованием индексации
  • Использование понимания списка
  • Использование нарезки списка
  • Для цикла
  • Пока цикл
  • Использование функции карты()

Мы рассмотрим их один за другим на наглядных примерах.

Способ 1: заменить элементы в списке Python с помощью индексирования

Самый простой способ заменить элемент в списке Python — это прямое назначение. Списки в Python изменяемы, что означает, что мы можем изменить их содержимое, не изменяя их идентификатор. Мы можем получить доступ к элементу в списке, обратившись к его порядковому номеру. Положительные порядковые номера списка начинаются с нуля для первого элемента.

Допустим, мы хотим заменить «Чикаго» на «Сан-Франциско» в нашем usa_cities список. «Чикаго» находится под индексом 2, поэтому мы можем заменить его следующим образом:

usa_cities = ["New York", "Los Angeles", "Chicago", "Houston", "Phoenix"]

usa_cities[2] = "San Francisco"


print(usa_cities)

Выход: После запуска этого кода наш список становится таким:

['New York', 'Los Angeles', 'San Francisco', 'Houston', 'Phoenix']
Замените элементы, используя прямое назначение в списке Python

Таким образом, мы можем использовать Индексация для прямое назначение для замены элементов в списке Python.

Метод 2: заменить элементы в списке Python с помощью понимания списка

Понимание списка в Python — это компактный способ создания списков, а также выполнения операций над элементами списка. К заменить элементы в списке Python с использованием понимание списка, мы могли бы использовать условный оператор внутри понимание списка.

давайте воспользуемся списком крупных городов США. Если бы мы хотели заменить «Хьюстон» на «Филадельфию», мы могли бы использовать понимание списка так:

cities = ['New York', 'Los Angeles', 'Chicago', 'Houston', 'Phoenix']

cities = ['Philadelphia' if city == 'Houston' else city for city in cities]

print(cities)

Выход:

['New York', 'Los Angeles', 'Chicago', 'Philadelphia', 'Phoenix']
Замените элементы, используя понимание списка в списке Python

Таким образом, мы можем использовать Понимание списка в Python для замены элементов в списке.

Способ 3: заменить элементы в списке Python с помощью нарезки списка

Другой способ заменить несколько элементов — использовать нарезка списка в Питоне.

Итак, давайте рассмотрим список топ-5 штатов США по площади. Мы попытаемся заменить «Калифорнию», «Монтану» и «Нью-Мексико» на «Аризона», «Невада» и «Колорадо» соответственно:

states = ['Alaska', 'Texas', 'California', 'Montana', 'New Mexico']

states[2:5] = ['Arizona', 'Nevada', 'Colorado']
print(states)

Выход: В Питоне нарезка списка можно использовать для замены сразу нескольких элементов. Здесь мы заменяем элементы от индекса 2 до индекса 5, но не включая индекс 5, новым набором элементов.

['Alaska', 'Texas', 'Arizona', 'Nevada', 'Colorado']
Замените элементы, используя нарезку списка в списке Python

Таким образом, мы можем использовать нарезка списка для замены элементов в списке Python.

Метод 4: заменить элементы в списке Python с помощью цикла for

В некоторых случаях мы можем захотеть заменить несколько элементов определенного значения в нашем списке Python. Для этого мы можем использовать для цикла для перебора списка.

Рассмотрим список американских сетей быстрого питания. Мы попробуем заменить все вхождения «Макдоналдс» на «Бургер Кинг», используя цикл for:

fast_food_chains = ["McDonald's", "Subway", "Starbucks", "Taco Bell", "McDonald's"]

for i in range(len(fast_food_chains)):
    if fast_food_chains[i] == "McDonald's":
        fast_food_chains[i] = 'Burger King'

print(fast_food_chains)

Выход: В этом примере мы перебираем список по индексу и заменяем «Макдоналдс» на «Бургер Кинг» каждый раз, когда он найден.

['Burger King', 'Subway', 'Starbucks', 'Taco Bell', 'Burger King']
Замена элементов с помощью цикла for в списке Python

Таким образом, мы можем использовать Для цикла для замены элементов из списка в Python.

Метод 5: заменить элементы из списка в Python с помощью цикла while

Пока цикл в Python работает так же, как для петли. в пока цикл сначала мы определяем переменную со значением 0 и перебираем список. Если значение соответствует значению, которое мы хотим заменить. Затем мы заменяем его новым значением.

Например: здесь мы будем использовать список популярных американских марок автомобилей и попробуем заменить «Ford» на «Dodge».

car_brands = ['Ford', 'Chevrolet', 'Tesla', 'Ford', 'Jeep', 'Cadillac', 'Ford']

i = 0
while i < len(car_brands):
    if car_brands[i] == 'Ford':
        car_brands[i] = 'Dodge'
    i += 1

print(car_brands)

Выход: мы проходим по списку, используя пока цикл и переменная-счетчик. Каждый раз, когда встречается «Форд», он заменяется на «Додж».

['Dodge', 'Chevrolet', 'Tesla', 'Dodge', 'Jeep', 'Cadillac', 'Dodge']
Замена элементов с помощью цикла while в списке Python

Таким образом, мы можем использовать пока цикл для замены элементов в списке Python.

Способ 6: замена элементов в списке Python с помощью функции map()

карта() function применяет заданную функцию к каждому элементу итерируемого объекта (например, к списку) и возвращает список результатов. Мы можем использовать его в сочетании с лямбда-функция для замены предметов.

Например, рассмотрим список национальных парков США. Мы попробуем заменить все вхождения Yosemite на Zion:

parks = ['Yellowstone', 'Yosemite', 'Grand Canyon', 'Sequoia', 'Yosemite']

parks = list(map(lambda park: 'Zion' if park == 'Yosemite' else park, parks))
print(parks)

Результат: карта() function применяет заданную функцию к каждому элементу итерируемого объекта. В этом случае применяется лямбда-функциякоторый заменяет «Йосемити» на «Сион» для каждого парка в списке.

['Yellowstone', 'Zion', 'Grand Canyon', 'Sequoia', 'Zion']
Замените элементы с помощью функции карты в списке Python

Таким образом, мы можем использовать функция карты() с лямбда-функция для замены элементов в списке Python.

Заключение:

В этом уроке мы рассмотрели 6 различных способов заменить элементы в списке Python. Индексация, Понимание списка, Нарезка списка, Для цикла, Пока цикли функция карты() каждый со своими сильными сторонами и вариантами использования. Понимание того, как и когда использовать эти различные методы для замены элементов в списке, является важной частью.

Вы также можете прочитать:


Ссылка на источник

Похожие статьи

Кнопка «Наверх»