> For the complete documentation index, see [llms.txt](https://bemind.gitbook.io/neural/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://bemind.gitbook.io/neural/python/python-lists/python-vychitanie-dvukh-spiskov-4-prostykh-sposoba.md).

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

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

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

### Содержание

* [Использование Numpy для вычитания двух списков Python](#ispolzovanie-numpy-dlya-vychitaniya-dvukh-spiskov-python)
* [Использование Zip для вычитания двух списков Python](#ispolzovanie-zip-dlya-vychitaniya-dvukh-spiskov-python)
* [Циклы For Python для вычитания двух списков](#cikly-for-python-dlya-vychitaniya-dvukh-spiskov)
* [Списковые включения Python для вычитания двух списков](#spiskovye-vklyucheniya-python-dlya-vychitaniya-dvukh-spiskov)
* [Заключение](#zaklyuchenie)

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

Популярная библиотека numpy часто используется для работы в науке о данных и, следовательно, поставляется с множеством различных полезных методов для манипуляции числовыми данными. Одним из основных преимуществ, которые предоставляет <mark style="color:blue;">**numpy**</mark>, является объект массива, который очень похож на объект списка Python.

Один из методов, который предоставляет <mark style="color:blue;">**numpy**</mark>, — это метод `subtract()`. Метод принимает два массива numpy в качестве входных данных и обеспечивает поэлементное вычитание между двумя списками.

Давайте посмотрим, как мы можем использовать <mark style="color:blue;">**numpy**</mark> и Python для вычитания двух списков:

```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`, и преобразовали их в массивы <mark style="color:blue;">**numpy**</mark>, `array1` и `array2`.
* Затем мы использовали метод `np.subtract()` для вычитания двух списков.
* Наконец, поскольку мы хотим вернуть список Python, мы использовали метод `list()`.

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

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

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

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

```python
# Вычитание двух списков с помощью 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` для вычитания списков:

```python
# Вычитание двух списков с помощью циклов 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 для вычитания двух списков

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

```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()`, [ознакомьтесь с официальной документацией.](/neural/algoritmy/algoritm-poiska-v-shirinu-bfs-v-python.md)
