Я работал над проектом на Python для системы управления счетами в ресторане. Для этого я использовал словарь, где ключом было название продукта, а значением — его стоимость.

Мне нужно было собрать все значения из словаря в один список, чтобы можно было проводить с ними вычисления. Я искал способы, как это сделать, и нашёл несколько решений для получения значений словаря в виде списка в Python.

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

Вот данные в парах ключ-значение:

food_menu = {
    "Pizza": 50,
    "Chinese": 30,
    "Pasta": 45,
    "Burger": 64
}

Итак, данные хранятся таким образом, и мне нужно получить список всех значений словаря в Python, и результат будет выглядеть так:

[50, 30, 45, 64]
Содержание

С помощью метода 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)

С помощью метода dict.values()

Выше представлен код, который описывает словарь 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)

С помощью цикла for

В представленном коде у нас есть словарь «дилерские центры», где названия филиалов являются ключами, а количество проданных автомобилей — значениями. Мы создаём пустой список, например, 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)

С использованием List Comprehension

В этом примере мы используем однострочный цикл 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)

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

В приведённом коде у нас есть словарь, где ключами являются названия газет, а значениями — города. Наша задача — извлечь все города из этого словаря и поместить их в список.

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

Наконец, мы используем конструктор списка (list), чтобы преобразовать результат в список. Например, list(map(lambda x: газеты[x], газеты)).

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