Чтобы преобразовать словарь Python в список, мы можем использовать девять различных методов, таких как items(),values() или keys(), чтобы извлечь определенные компоненты и обернуть их в конструктор списка.

Мы можем использовать zip() для объединения нескольких компонентов словаря, использовать списки для кратких преобразований, использовать Map() для применения функции к каждому элементу, перебирать словарь с помощью цикла for или цикла for с помощью items() и создавать структурированные списки с помощью Collections.namedtuple().

Содержание

1. С помощью метода items()

Метод dict.items() используется для перебора элементов словаря. Используя list(), мы преобразуем все элементы в список.

Пример:

my_dict ={"b":20,"c":10}

con_lis = list(my_dict.items())
print("Converted dict to list:",con_lis)
  • Сначала в приведенном выше коде мы создадим словарь, используя фигурные скобки, и назначим им пары ключ-значение.
  • Переменную con_lis необходимо преобразовать в список, чтобы мы могли использовать функцию list(), а затем сохранить результат в переменной con_lis.

Вывод: вот как Python преобразует словарь в список с помощью функции items().

Converted dict to list: [('b', 20),('c', 10)]

На снимке экрана ниже показан результат, полученный при запуске кода в редакторе PyCharm.

С помощью метода items()

2. С использованием метода Values()

Метод dict.values() в Python может легко получить список значений, а для преобразования значений в список мы можем использовать функцию list().

Пример:

to_dict ={"d":50,"f":10,"g":40}

new_val = list(to_dict.values())
print("Converted dict to list:",new_val)

Выход:

Converted dict to list: [50, 10, 40]

Ниже изображение, отображающее результаты выполнения кода в среде PyCharm:

С использованием метода Values()

3. С помощью функции zip()

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

Пример:

to_dict ={"i":160,"w":110,"s":340}

m = list(zip(to_dict.keys(), to_dict.values()))
print("Convert dictionary to list:",m)

Вывод: Вот реализация следующего кода:

Convert dictionary to list: [('i', 160),('w', 110),('s', 340)]

На следующем изображении показаны результаты, полученные в результате выполнения кода в PyCharm.

С помощью функции zip()

4. С помощью метода keys()

Метод keys() в Python используется для получения списка ключей из словаря. Чтобы получить список всех ключей, мы можем объединить функцию list() с методом keys().

Пример:

new_dict ={"z":320,"p":430,"o":245}

n_val = list(new_dict.keys())
print("Convert dictionary to list",n_val)

Выход:

Convert dictionary to list ['z', 'p', 'o']

Ниже показан снимок экрана, на котором запечатлен результат выполнения кода в редакторе PyCharm.

С помощью метода keys()

5. Используя метод понимания списка

В этом методе мы воспользуемся методом dict.items() для сбора ключей и значений из словаря.

После этого мы воспользуемся методом понимания списка, чтобы сформировать из него список.

Пример:

n_dictionary ={"James":240,"William":180,"Chris":140}

n_lis = [(key, value) for key, value in n_dictionary.items()] 
print(n_lis)

Выход:

[('James', 240),('William', 180),('Chris', 140)]

После реализации кода в редакторе Pycharm снимок экрана указан ниже.

Используя метод понимания списка

6. С помощью функции map()

Функция карты принимает функцию и последовательность в качестве параметра, применяет эту функцию к итерируемому объекту и возвращает новый список.

В этом примере вы можете объединить функции map() и list() для преобразования словаря в список.

Исходный код:

my_dict ={"Newzealand":860,"Swizerland":780,"Moscow":340}

con_val= list(map(list,my_dict.items()))
print(con_val)

Выход:

[['Newzealand', 860], ['Swizerland', 780], ['Moscow', 340]]

Ниже приведен скриншот после реализации кода в редакторе Pycharm.

С помощью функции map()

7. Используя метод цикла for и items()

В этом методе мы поймем использование цикла for и метода dict.items() в Python для преобразования словаря в список.

Здесь мы сначала воспользуемся циклом for для перебора каждого элемента словаря. Затем мы использовали функцию list() для преобразования элементов в список.

Пример:

User = {
    "Name":"James", 
    "Age":25, 
    "City": "New York", 
    "Country": "United States"
}

user_data = [] 
for key, val in User.items(): 
    user_data.append([key, val]) 

print(user_data)
  • В приведенном выше примере мы определили словарь с именем user, который состоит из нескольких пар ключ-значение.
  • После этого мы определили пустой словарь с именем user_data. Затем мы использовали цикл for и метод item() для извлечения каждого значения ключа из словаря и добавления его в новый список.
[['Name', 'James'], ['Age', 25], ['City', 'New York'], ['Country', 'United States']]

На следующем снимке экрана показаны результаты, полученные при выполнении кода в редакторе PyCharm.

Используя метод цикла for и items()

8. Используя метод итерации

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

Пример:

User = {
    "Name":"James",
    "Age":25,
    "City": "New York",
    "Country": "United States"
}

user_data = []
for item in User:
    k = [item, User[item]]
    user_data.append(k)
    
print(user_data)

Вывод: В приведенной выше программе Python мы использовали цикл for для перебора каждого элемента и использовали квадратные скобки([]), чтобы каждая пара ключ-значение представляла собой список.

В последнем случае мы использовали метод list.append() для добавления каждого списка пар ключ-значение в список.

[['Name', 'James'], ['Age', 25], ['City', 'New York'], ['Country', 'United States']]

Вот окончательный результат приведенного выше примера.

Используя метод итерации

9. С помощью функции Collection.namedtuple()

В этом методе мы обсудим, как Python преобразует словарь в список с помощью функции Collection.namedtuple().

Этот подкласс позволяет нам определять новые типы кортежей, каждый из которых имеет именованное поле определенного типа. Однако эти именованные кортежи также являются неизменяемыми, как и стандартные кортежи в Python.

В этом подходе мы преобразуем пару ключ-значение словаря в именованный кортеж, используя класс Collection.namedtuple(). После этого мы сохраним эти именованные кортежи в списке.

Пример:

from collections import namedtuple

User = {
    "Name":"James",
    "Age":25,
    "City": "New York",
    "Country": "United States"
}

list_of_tuple = namedtuple('List', 'name value')
new_list = list(list_of_tuple(*item) for item in User.items())

print(new_list)

Вывод: в этом примере мы преобразуем словарь пользователя в значение типа списка new_list с помощью функции Collection.namedtuple() в Python.

[List(name='Name', value='James'), List(name='Age', value=25), List(name='City', value='New York'), List(name='Country', value='United States')]

Вот окончательный результат вышеупомянутой программы Python.

С помощью функции Collection.namedtuple()

Добавить комментарий