Список — это коллекция элементов в Python. Чтобы найти наименьшее число в списке, мы можем использовать функцию min(), которая выдает наименьшее число из переданного списка.

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

Содержание

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

В Python есть встроенная функция min(), которая возвращает наименьший элемент в итерации или наименьший из двух или более аргументов. Мы можем использовать функцию min() в списке Python, чтобы найти наименьшее число.

Вот пример:

zip_code_USA = [36925, 85001, 96162, 19701] 
print("Input list: ", zip_code_USA)
new_output = min(zip_code_USA)
print("The smallest number in the input list is ", new_output)

Для приведенного выше кода мы создали список Python под названием zip_code_USA, который содержит несколько почтовых индексов.

  • Затем он использует встроенную функцию min() для поиска наименьшего числа в списке и сохраняет результат в переменной с именем new_output.
Input list:  [36925, 85001, 96162, 19701]
The smallest number in the input list is  19701

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

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

Используя цикл for

Мы также можем использовать цикл for в Python для перебора каждого элемента списка и сравнения его с наименьшим найденным числом.

Мы будем использовать условные операторы if для проверки наименьшего числа при сравнении.

Вот пример поиска наименьшего числа с использованием цикла for:

populations = [39512223, 57875913, 21477737, 10617423, 19453561]
smallest_population = populations[0]
for num in populations:
    if num < smallest_population:
        smallest_population = num
print("State with the smallest population:", smallest_population, "people")

Код создает список целых чисел, называемых популяциями, и инициализирует переменную с именем small_population первым элементом списка.

  • Затем он перебирает каждый элемент списка, используя цикл for в Python, и проверяет, меньше ли текущий элемент, чем текущее значение переменной small_population.
  • Если это так, переменная small_population обновляется текущим элементом. Наконец, код печатает наименьший элемент списка с помощью функции print().

Выход:

State with the smallest population: 10617423 people

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

Используя цикл for

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

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

Пример использования функции sort():

temperatures_nyc = [32, 28, 30, 29, 31]
temperatures_nyc.sort()
lowest_temp = temperatures_nyc[0]
print("Lowest temperature in NYC:", lowest_temp, "°F")

Приведенный выше код создает список целых чисел с именем «температура_nyc».

  • Затем отсортируйте список в порядке возрастания, используя метод sort() в Python, и извлеките первый элемент из отсортированного списка.

Выход:

Lowest temperature in NYC: 28 °F

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

как получить наименьшее число в списке Python

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

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

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

Вот пример получения наименьшего элемента в списке Python:

employee_ages = [28, 29, 20, 37, 41]
sorted_employee_age = sorted(employee_ages, reverse=True)
youngest_employee = sorted_employee_age[len(sorted_employee_age)-1]
print("Youngest employee in the organization:", youngest_employee, "years old")

Приведенный выше код создает список возрастов в числах, называемый «employee_ages».

Мы используем встроенную функцию sorted() с обратным параметром для сортировки списка в порядке убывания, сохраняя результат в новой переменной sorted_employee_age.

sorted(employee_ages, reverse=True)

Затем мы получаем доступ к последнему элементу отсортированного списка путем индексации в Python.

sorted_employee_age[len(sorted_employee_age)-1]
  • Функция len() возвращает длину списка, и, поскольку индексация начинается с 0, мы вычитаем единицу(1) из длины, чтобы получить последний элемент.
  • Примечание. Мы также можем использовать метод pop() для получения последнего элемента из отсортированного списка.

Выход:

Youngest employee in the organization: 20 years old

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

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

С помощью лямбда-функции

Лямбда-функция имеет только одно выражение. Их можно использовать для создания объекта функции, который может давать или не давать результаты.

Мы можем объединить его с функцией min(), чтобы найти наименьшее число в списке Python.

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

altitudes = [14440, 14420, 'Null', 14050, 14265, 14300, 'Null']
lowest_altitude = min(altitudes, key=lambda x: float(x) if str(x).isdigit() else float('inf'))
print("Mountain with the lowest altitude in Colorado:", lowest_altitude, "feet")

Здесь мы использовали лямбда-функцию для фильтрации списка целых чисел, а затем находили минимальное значение среди отфильтрованных элементов списка в Python с помощью функции min().

min(altitudes, key=lambda x: float(x) if str(x).isdigit() else float('inf'))

Выход:

Mountain with the lowest altitude in Colorado: 14050 feet

Вот выполнение следующего данного кода:

С помощью лямбда-функции

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

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

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

from functools import reduce

production = [12, 89, 64, 17, 78]
lowest_production = reduce(lambda x, y: x if x < y else y, production)
print("Day with the least production in Texas had done only", lowest_production, "percent.")

Приведенный выше код импортирует функцию reduce() из библиотеки functools в Python.

  • Функция reduce() применяет лямбда-функцию для поиска наименьшего элемента в списке с помощью операторов сравнения и сохраняет результат в переменной с именем low_production.
  • Наконец, код печатает наименьший элемент списка с помощью функции print().

Выход:

Day with the least production in Texas had done only 12 percent.

На снимке экрана ниже показан вывод после выполнения кода редактора Pycharm.

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

Используя рекурсию

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

Рекурсия — это метод, при котором функция вызывает сама себя в своем определении.

Вот пример:

def find_cheapest_car(prices):
    if len(prices) == 1:
        return prices[0]
    else:
        return min(prices[0], find_cheapest_car(prices[1:]))

car_prices = [25000, 28000, 22000, 26000, 20000]
cheapest_car = find_cheapest_car(car_prices)
print("Cheapest car price in New York City:", cheapest_car, "dollars")

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

min(prices[0], find_cheapest_car(prices[1:]))

Выход:

Cheapest car price in New York City: 20000 dollars

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

Используя рекурсию

С помощью модуля heapq

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

Пример:

import heapq

rates = [3.2, 4.1, 2.9, 3.5, 3.8]
heapq.heapify(rates)
lowest_rate = heapq.heappop(rates)
print("The lowest rate is", lowest_rate, "%")

Приведенный выше код импортирует библиотеку heapq, которая обеспечивает эффективный способ поиска наименьших элементов в списке. Затем он создает список целых чисел с именем my_list.

  • Код использует функцию heapify() из библиотеки heapq в Python для преобразования обычного списка в кучу. Другими словами, он переупорядочивает список в кучу Min.
  • Затем функция heappop() извлекает наименьший элемент, сохраняя при этом свойство кучи.
heapq.heapify(rates)
lowest_rate = heapq.heappop(rates)
  • Наконец, код печатает наименьший элемент списка с помощью функции print().

Выход:

The lowest rate is 2.9 %

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

С помощью модуля heapq

Заключение

Это руководство содержит восемь методов для поиска наименьшего числа в списке Python, таких как функция min(), цикл for, функция sort() и sorted(), лямбда-функция, функция reduce(), рекурсия и различные функции модуля heapq. В зависимости от размера списка Python и конкретных требований можно выбрать наиболее подходящий для своей задачи метод.

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