Python: Вычитание двух списков (4 простых способа!)

В этом учебнике вы узнаете, как использовать Python для вычитания двух списков. Вы узнаете, как это сделать с помощью популярной библиотеки науки о данных numpy, циклов for, списковых включений и полезной встроенной функции zip().

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

Содержание

Использование Numpy для вычитания двух списков Python

Популярная библиотека numpy часто используется для работы в науке о данных и, следовательно, поставляется с множеством различных полезных методов для манипуляции числовыми данными. Одним из основных преимуществ, которые предоставляет numpy, является объект массива, который очень похож на объект списка Python.

Один из методов, который предоставляет numpy, — это метод subtract(). Метод принимает два массива numpy в качестве входных данных и обеспечивает поэлементное вычитание между двумя списками.

Давайте посмотрим, как мы можем использовать numpy и Python для вычитания двух списков:

# Вычитание двух списков с помощью numpy
import numpy as np

list1 = [10, 11, 12]
list2 = [1, 2, 3]

array1 = np.array(list1)
array2 = np.array(list2)

subtracted_array = np.subtract(array1, array2)
subtracted = list(subtracted_array)

print(subtracted)

# Возвращает: [9, 9, 9]

Давайте посмотрим, что мы сделали:

  • Мы загрузили два списка, list1 и list2, и преобразовали их в массивы numpy, array1 и array2.

  • Затем мы использовали метод np.subtract() для вычитания двух списков.

  • Наконец, поскольку мы хотим вернуть список Python, мы использовали метод list().

В следующем разделе вы узнаете, как использовать функцию zip() для нахождения разницы между двумя списками поэлементно.

Использование Zip для вычитания двух списков Python

Функция Python zip() — это встроенная утилита, которая делает работу с различными итерируемыми объектами невероятно простой. Функция итерирует по различным объектам, элемент за элементом. По этой причине функция zip() является идеальным кандидатом для нахождения разницы между двумя списками элемент за элементом.

Давайте посмотрим, как мы можем использовать функцию Python zip() для вычитания двух списков:

# Вычитание двух списков с помощью zip
list1 = [10, 11, 12]
list2 = [1, 2, 3]

subtracted = list()
for item1, item2 in zip(list1, list2):
    item = item1 - item2
    subtracted.append(item)

print(subtracted)

# Возвращает: [9, 9, 9]

Давайте посмотрим, что мы сделали:

  • Мы инициализировали новый, пустой список под названием subtracted, который мы будем использовать для хранения наших вычитанных значений.

  • Затем мы итерируем по двум элементам, возвращенным во время каждой итерации выхода zip().

  • Мы присваиваем разницу между этими двумя элементами к item и добавляем его к нашему списку subtracted.

Теперь давайте посмотрим, как использовать цикл for для вычитания двух списков.

Хотите узнать, как использовать функцию Python zip() для итерации по двум спискам? Этот учебник научит вас точно, что делает функция zip(), и покажет вам несколько креативных способов использования функции.

Циклы For Python для вычитания двух списков

Циклы for в Python — это невероятно полезные инструменты, которые позволяют нам повторять действие определенное количество раз. По этой причине мы можем итерировать по нашим двум спискам и найти разницу между их элементами.

Давайте посмотрим, как мы можем использовать циклы for для вычитания списков:

# Вычитание двух списков с помощью циклов for
list1 = [10, 11, 12]
list2 = [1, 2, 3]

subtracted = list()
for i in range(len(list1)):
    item = list1[i] - list2[i]
    subtracted.append(item)

print(subtracted)

# Возвращает: [9, 9, 9]

Давайте посмотрим, что мы сделали с нашим методом цикла for:

  • Мы создали пустой список под названием subtracted.

  • Затем мы итерируем по диапазону от 0 до длины нашего первого списка.

  • Затем мы присваиваем разницу между каждым i-м элементом каждого списка к нашей переменной item.

  • Этот элемент затем добавляется к нашему списку.

Наконец, давайте посмотрим, как использовать списковое включение для вычитания двух списков.

Списковые включения Python для вычитания двух списков

Наконец, давайте посмотрим, как мы можем использовать списковое включение для вычитания двух списков:

# Вычитание двух списков с помощью zip()
list1 = [10, 11, 12]
list2 = [1, 2, 3]

subtracted = [element1 - element2 for (element1, element2) in zip(list1, list2)]
print(subtracted)

# Возвращает: [9, 9, 9]

Давайте посмотрим, что мы сделали:

  • Мы использовали списковое включение для итерации по элементам в объекте zip() списков list1 и list2.

  • В этом включении мы находим разницу между двумя элементами.

Заключение

В этом учебнике вы узнали, как использовать Python для вычитания двух списков. Вы узнали, как это сделать с помощью метода numpy.subtract(), функции zip(), цикла for и спискового включения Python. Работа со списками — это важный навык, который не всегда работает так, как вы ожидаете, поэтому быть подготовленным к различным вызовам, с которыми вы можете столкнуться, важно.

Чтобы узнать больше о методе numpy.subtract(), ознакомьтесь с официальной документацией.

Last updated