Список — это коллекция элементов в Python. Чтобы найти наименьшее число в списке, мы можем использовать функцию min(), которая выдает наименьшее число из переданного списка.
Мы также можем отсортировать список, а затем извлечь первый или последний элемент в соответствии с порядком, используя разные методы Python.
- С помощью функции min()
- Используя цикл for
- С помощью функции sort()
- С помощью функции sorted()
- С помощью лямбда-функции
- С помощью функции reduce()
- Используя рекурсию
- С помощью модуля heapq
- Заключение
С помощью функции 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 снимок экрана указан ниже.
Используя цикл 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.
С помощью функции 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 результат отображается на снимке экрана ниже.
С помощью функции 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.
С помощью лямбда-функции
Лямбда-функция имеет только одно выражение. Их можно использовать для создания объекта функции, который может давать или не давать результаты.
Мы можем объединить его с функцией 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.
Используя рекурсию
Мы также можем использовать технику рекурсии, чтобы найти наименьшее число в списке в 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.
Заключение
Это руководство содержит восемь методов для поиска наименьшего числа в списке Python, таких как функция min(), цикл for, функция sort() и sorted(), лямбда-функция, функция reduce(), рекурсия и различные функции модуля heapq. В зависимости от размера списка Python и конкретных требований можно выбрать наиболее подходящий для своей задачи метод.