Словарь Python содержит коллекцию элементов в виде значений пары ключей, иногда вам нужно найти ключ с максимальным значением в словаре.

Например, если ваши данные о продажах хранятся в словаре, вы можете узнать, какой продукт имел самые высокие продажи.

Существует несколько способов найти максимальное значение в словаре Python, и вы можете использовать max() с dict.values() и dict.items() словаря.

Функция max() может найти самый большой элемент в итерируемом объекте, например списке, кортеже или строке.

Содержание

Используя оператор с функцией Items()

Функция items() возвращает пары ключ-значение в виде кортежей из словаря. В сочетании с функцией itemgetter() из модуля оператора в Python она позволяет нам сортировать или извлекать элементы на основе значения части этих кортежей.

Например, у вас есть словарь, содержащий название страны в качестве ключа и уровень грамотности в этой стране в качестве значения, поэтому вы можете использовать items() и itemgetter() вместе с функцией max(), чтобы найти страну с более высоким уровнем грамотности. ставка.

# Import the operator module to utilize its functions for operations on iterables
import operator

# Initialize a dictionary with literacy values for the given countries
max_dict = {'Australia': 48, 'Germany': 95, 'Japan': 99}

# Use the max() function to find the key in max_dict with the highest value
# max_dict.items() returns a view object containing the dictionary's key-value pairs
# operator.itemgetter(1) fetches the value from each key-value pair
# The max() function compares these values and returns the key-value pair with the highest value
# [0] extracts the key(the country name) from this key-value pair
new_ma_val = max(max_dict.items(), key=operator.itemgetter(1))[0]

# Print the country name with the highest value
print(new_ma_val)

Используя оператор с функцией Items()

Из результатов видно, что в Японии более высокий уровень грамотности. Тем не менее, приведенная выше логика обнаруживает, что ключ словаря имеет максимальное значение, поэтому здесь максимальное значение Японии равно 99, что больше, чем значения других стран в словаре.

Используя функцию Lambda

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

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

# Initialize a dictionary with maximum values for the given countries
max_dict = {'Australia': 48, 'Germany': 95, 'Japan': 99}

# Use the max() function to find the key in max_dict with the highest value
# max_dict.keys() implicitly returns an iterable of dictionary keys(i.e., 'Australia', 'Germany', 'Japan')
# The lambda function takes each key(x) and returns the corresponding value in max_dict(i.e., max_dict[x])
# The max() function compares these values and returns the key with the highest value
new_val = max(max_dict, key=lambda x: max_dict[x])

# Print the country name with the highest value
print(f"{new_val}:{max_dict[new_val]}")

Используя функцию Lambda

Из выходных данных максимальное значение страны Япония равно 99, что является ключом словаря с максимальным значением.

Используя метод dict.values()

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

Давайте воспользуемся тем же словарем, в котором указана страна и уровень ее грамотности.

# Initialize a dictionary with maximum values for the given countries
max_dict = {'Australia': 48, 'Germany': 95, 'Japan': 99}

# Use the max() function to find the maximum value in the dictionary
# max_dict.values() returns a view object containing all the values in the dictionary
# The max() function finds and returns the highest value from this view object
max_dict_value = max(max_dict.values())

# Print the maximum value found in the dictionary with a descriptive message
print(f"Dictionary Max value is {max_dict_value}")

Найдите максимальное значение в словаре Python, используя метод dict.values

Из выходных данных вы можете видеть, что максимальное значение из словаря равно 99, которое извлекается с помощью метода dict.values() с функцией max().

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