> 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-dictionaries/python-preobrazovanie-slovarya-v-spisok-kortezhei-4-prostykh-sposoba.md).

# Python: Преобразование словаря в список кортежей (4 простых способа)

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

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

* [Преобразование Python словаря в список кортежей с использованием функции List](#preobrazovanie-python-slovarya-v-spisok-kortezhei-s-ispolzovaniem-funkcii-list)
* [Преобразование Python словаря в список кортежей с использованием генератора списков](#preobrazovanie-python-slovarya-v-spisok-kortezhei-s-ispolzovaniem-generatora-spiskov)
* [Преобразование Python словаря в список кортежей с использованием функции Zip](#preobrazovanie-python-slovarya-v-spisok-kortezhei-s-ispolzovaniem-funkcii-zip)
* [Преобразование Python словаря в список кортежей с использованием цикла For](#preobrazovanie-python-slovarya-v-spisok-kortezhei-s-ispolzovaniem-cikla-for)
* [Заключение](#zaklyuchenie)

### Преобразование Python словаря в список кортежей с использованием функции List

Один из самых простых и pythonic способов преобразовать словарь Python в список кортежей — это использовать встроенную функцию `list()`. Эта функция принимает объект и генерирует список с его элементами. Один из встроенных методов для словарей — метод `.items()`, который возвращает кортеж кортежей пар ключ-значение, найденных внутри словаря. Мы можем использовать этот метод и передать его в функцию `list()`, чтобы сгенерировать список кортежей, содержащих пары ключ-значение из нашего словаря.

```python
# Преобразование словаря в список кортежей с использованием list()

sample_dict = {'john': 30, 'nik': 32, 'datagy': 40}
list_of_tuples = list(sample_dict.items())

print(list_of_tuples)
# Возвращает: [('john', 30), ('nik', 32), ('datagy', 40)]
```

Мы видим, что мы передали элементы нашего словаря в функцию `list()`. Это вернуло список кортежей с соответствующими парами ключ-значение. В следующем разделе вы узнаете, как использовать генератор списков Python для преобразования словаря в список кортежей.

### Преобразование Python словаря в список кортежей с использованием генератора списков

Генераторы списков Python — это элегантные способы генерации списков на основе другого итерируемого объекта. Чтобы преобразовать словарь в Python в список кортежей, мы будем проходить по ключам и значениям и генерировать кортежи. Давайте посмотрим, как выглядит этот код:

```python
# Преобразование словаря в список кортежей с использованием генератора списков

sample_dict = {'john': 30, 'nik': 32, 'datagy': 40}
list_of_tuples = [(key, value) for key, value in sample_dict.items()]

print(list_of_tuples)
# Возвращает: [('john', 30), ('nik', 32), ('datagy', 40)]
```

Давайте разберем наш генератор списков:

* Наш итерируемый объект представлен `sample_dict.items()`, который возвращает кортеж кортежей наших пар ключ-значение
* Мы проходим по ним, создавая новый кортеж пар ключ-значение

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

### Преобразование Python словаря в список кортежей с использованием функции Zip

Функция Python `zip()` позволяет итерировать последовательно по нескольким итерируемым объектам. Мы можем создать два итерируемых объекта для ключей и значений словаря, используя методы `.keys()` и `.items()`. Оба этих метода возвращают итерируемые объекты, содержащие либо ключи, либо значения нашего словаря. Давайте посмотрим, как это можно сделать в Python:

```python
# Преобразование словаря в список кортежей с использованием функции Zip

sample_dict = {'john': 30, 'nik': 32, 'datagy': 40}
keys = sample_dict.keys()
values = sample_dict.values()
list_of_tuples = list(zip(keys, values))

print(list_of_tuples)
# Возвращает: [('john', 30), ('nik', 32), ('datagy', 40)]
```

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

* Мы загрузили наш пример словаря
* Мы создали два новых объекта, один содержит ключи, а другой — значения
* Мы использовали функцию `zip()`, чтобы объединить эти два объекта вместе, последовательно
* Мы преобразовали это в список кортежей

В следующем разделе вы узнаете, как использовать библиотеку `collections` для преобразования словаря в список кортежей.

### Преобразование Python словаря в список кортежей с использованием цикла For

Очень интуитивно понятный способ преобразования Python словаря в список кортежей — это использование цикла `for` в Python. Циклы `for` в Python позволяют нам легко итерировать по последовательности и выполнять предоставленное действие в результате. Давайте посмотрим, как это можно сделать с использованием цикла `for`:

```python
# Преобразование словаря в список кортежей с использованием цикла for

sample_dict = {'john': 30, 'nik': 32, 'datagy': 40}

list_of_tuples = list()
for key in sample_dict:
    list_of_tuples.append((key, sample_dict.get(key)))

print(list_of_tuples)
# Возвращает: [('john', 30), ('nik', 32), ('datagy', 40)]
```

Давайте исследуем этот код, чтобы лучше понять, что происходит:

* Мы создали пустой список, к которому будем добавлять наши кортежи
* Мы проходим по каждому ключу в объекте `sample_dict`
* Мы добавляем кортеж, содержащий ключ и значение, которое ключ возвращает с использованием метода `.get()`

### Заключение

В этой статье вы узнали, как использовать Python для преобразования словаря в список кортежей. Умение преобразовывать и перемещаться между различными структурами данных Python — это невероятно полезный навык. Вы узнали, как это сделать с помощью функции `list()`, генераторов списков Python и функции `zip()`. Чтобы узнать больше о библиотеке collections в Python, ознакомьтесь с официальной документацией [здесь](https://docs.python.org/3/library/collections.html).&#x20;
