Чтобы преобразовать словарь Python в список, мы можем использовать девять различных методов, таких как items(),values() или keys(), чтобы извлечь определенные компоненты и обернуть их в конструктор списка.
Мы можем использовать zip() для объединения нескольких компонентов словаря, использовать списки для кратких преобразований, использовать Map() для применения функции к каждому элементу, перебирать словарь с помощью цикла for или цикла for с помощью items() и создавать структурированные списки с помощью Collections.namedtuple().
- 1. С помощью метода items()
- 2. С использованием метода Values()
- 3. С помощью функции zip()
- 4. С помощью метода keys()
- 5. Используя метод понимания списка
- 6. С помощью функции map()
- 7. Используя метод цикла for и items()
- 8. Используя метод итерации
- 9. С помощью функции Collection.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.
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:
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.
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.
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.
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.
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.