Я работал над проектом на Python для системы управления счетами в ресторане. Для этого я использовал словарь, где ключом было название продукта, а значением — его стоимость.
Мне нужно было собрать все значения из словаря в один список, чтобы можно было проводить с ними вычисления. Я искал способы, как это сделать, и нашёл несколько решений для получения значений словаря в виде списка в Python.
Позвольте мне пояснить на примере, как работают эти методы.
Вот данные в парах ключ-значение:
food_menu = {
"Pizza": 50,
"Chinese": 30,
"Pasta": 45,
"Burger": 64
}
Итак, данные хранятся таким образом, и мне нужно получить список всех значений словаря в Python, и результат будет выглядеть так:
[50, 30, 45, 64]
- С помощью метода dict.values()
- С помощью цикла for
- С использованием List Comprehension
- С помощью функции map()
С помощью метода dict.values()
Сначала мы применим метод dict.values(), который позволяет получить все значения из словаря в виде списка: [val1, val2, …]. Чтобы преобразовать этот список в обычный, мы воспользуемся конструктором списка.
Синтаксис:
list(dict_name.values())
- Values(): убедитесь, что вы используете этот метод только для словаря; в противном случае выдаст ошибку.
- Конструктор list(): он преобразует извлеченные значения словаря в список.
Вот пример, показывающий, как преобразовать dict_values в список в Python с помощью метода dict.values().
food_menu = {
"Pizza": 50,
"Chinese": 30,
"Pasta": 45,
"Burger": 64
}
price_list = list(food_menu.values())
print(price_list)

Выше представлен код, который описывает словарь food_menu. В этом словаре ключи представляют собой продукты питания, а значения — их цены.
Нашей задачей было преобразовать все значения словаря в список на языке Python с помощью цикла for.
С помощью цикла for
В Python мы также можем использовать цикл for для преобразования значений словаря в список. Сначала мы получаем значения словаря с помощью метода values(). Затем мы перебираем каждое значение по очереди и добавляем его в список с помощью метода add().
dealerships = {
"Atlanta Branch": 1200,
"Houston Branch": 1100,
"San Diego Branch": 900,
"New York Branch": 1500
}
cars_sold_list = []
for num in dealerships.values():
cars_sold_list.append(num)
print(cars_sold_list)

В представленном коде у нас есть словарь «дилерские центры», где названия филиалов являются ключами, а количество проданных автомобилей — значениями. Мы создаём пустой список, например, cars_sold_list = [], чтобы сохранить все значения словаря в этом списке.
Затем мы используем цикл for для перебора всех значений словаря «дилерские центры»: «для числа в дилерских центрах.значения():». Мы добавляем каждое значение в список cars_sold_list с помощью метода append: cars_sold_list.append(num).
С использованием List Comprehension
Здесь мы применим понимание списка, которое использует ту же логику, что и в предыдущем примере. Разница в том, что вместо цикла for мы будем использовать однострочный цикл for. Понимание списка позволяет создать список без необходимости добавлять его вручную.
Давайте рассмотрим, как преобразовать значения словаря в список в Python с помощью понимания списка.
landmarks = {
"Statue of Liberty": 4.5,
"Grand Canyon": 6.0,
"Mount Rushmore": 3.0,
"Golden Gate Bridge": 10.0
}
tourists_list = [num for num in landmarks.values()]
print(tourists_list)

В этом примере мы используем однострочный цикл for в генераторе списков. Он будет перебирать каждое значение из словаря «ориентиры» с помощью конструкции «for num in ориентиры.values()». В результате будет создан список всех значений, которые будут выглядеть так: «tourists_list = [num for num in ориентиры.values()]».
С помощью функции map()
Мы также можем воспользоваться функцией map() в Python, которая позволяет перебирать каждый ключ словаря и использовать лямбда-функцию. Таким образом, мы можем собрать все значения из словаря, используя методы map() и lambda() в Python.
Вот пример того, как можно преобразовать dict_values в список с помощью функции map():
newspapers = {
"The New York Times": "New York",
"Los Angeles Times": "Los Angeles",
"The Washington Post": "Washington, D.C.",
"The Boston Globe": "Boston"
}
newspaper_cities = list(map(lambda x: newspapers[x], newspapers))
print(newspaper_cities)

В приведённом коде у нас есть словарь, где ключами являются названия газет, а значениями — города. Наша задача — извлечь все города из этого словаря и поместить их в список.
Для этого мы используем метод лямбда (lambda), чтобы определить значение ключа. Например, «лямбда x: газеты[x]». Затем мы применяем метод map() к каждому ключу словаря, используя лямбда-функцию, чтобы получить значения словаря.
Наконец, мы используем конструктор списка (list), чтобы преобразовать результат в список. Например, list(map(lambda x: газеты[x], газеты)).