В предыдущей статье мы рассмотрели методы списков Python. В этой статье мы рассмотрим основные функции для работы со списками в Python.
Возвращает количество элементов (длину) объекта-контейнера.
Параметры:
sequence
— последовательность (строка, байты, кортеж, список, диапазон) или коллекция (словарь, множество, неизменяемое множество).
Возвращаемое значение:
Количество элементов объекта.
Если вы не передадите аргумент или передадите неверный аргумент, то будет возбуждено исключение TypeError
.
Примечание:
Вы можете в своих классах определять метод __len__()
, значение из которого будет возвращено при вызове функции len()
.
Примеры:
Пример 1: Работа с len()
.
testList = [] print(testList, 'length is', len(testList)) testList = [1, 2, 3] print(testList, 'length is', len(testList)) testTuple = (1, 2, 3) print(testTuple, 'length is', len(testTuple)) testRange = range(1, 10) print('Length of', testRange, 'is', len(testRange))
Результат:
[] length is 0
Пример 2: Определение метода __len__()
в классе.
class Session: def __init__(self, number = 0): self.number = number def __len__(self): return self.number # длина по умолчанию равна 0 s1 = Session() print(len(s1)) # 0 s2 = Session(6) print(len(s2)) # 6
Возвращает наибольший элемент итерируемого объекта. Также можно использовать для поиска наибольшего элемента между двумя или более аргументами. Если сразу несколько элементов имеют максимальное значение, то функция возвращает первый найденный элемент.
Параметры:
max(iterable, *iterables, key, default)
iterable
— итерируемый объект (список, кортеж, множество, словарь и т. д.).
*iterables
— любое количество итерируемых объектов; может быть больше, чем один. Необязательный аргумент.
key
– функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
default
— значение по умолчанию, которое возвращается, если итерируемый объект окажется пустым. Если итерируемый объект пуст и данный аргумент не указан, то возбуждается исключение ValueError
. Необязательный аргумент.
max(arg1, arg2, *args, key)
arg1
— объект (число, строка и т. д.).
arg2
— объект (число, строка и т. д.).
*args
— любое количество объектов. Необязательный аргумент.
key
— функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
Возвращаемое значение:
Наибольший элемент.
Примеры:
Пример 1: Получение наибольшего элемента списка.
number = [3, 2, 8, 5, 10, 6] largest_number = max(number) # Output: The largest number is: 10 print("The largest number is:", largest_number)
Пример 2: Получение наибольшего элемента списка строк.
languages = ["Python", "C Programming", "Java", "JavaScript"] largest_string = max(languages) # наибольший элемент (в алфавитном порядке) # Output: The largest string is: Python print("The largest string is:", largest_string)
Возвращает наименьший элемент итерируемого объекта. Также можно использовать для поиска наименьшего элемента между двумя или более аргументами. Если сразу несколько элементов имеют минимальное значение, то функция возвращает первый найденный элемент.
Параметры:
min(iterable, *iterables, key, default)
iterable
— итерируемый объект (список, кортеж, множество, словарь и т. д.).
*iterables
— любое количество итерируемых объектов; может быть больше, чем один. Необязательный аргумент.
key
– функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
default
— значение по умолчанию, которое возвращается, если итерируемый объект окажется пустым. Если итерируемый объект пуст и данный аргумент не указан, то возбуждается исключение ValueError
. Необязательный аргумент.
min(arg1, arg2, *args, key)
arg1
— объект (число, строка и т. д.).
arg2
— объект (число, строка и т. д.).
*args
— любое количество объектов. Необязательный аргумент.
key
— функция, в которую передается каждый аргумент; сравнение выполняется на основе возвращаемого значения. Необязательный аргумент.
Возвращаемое значение:
Наименьший элемент.
Примеры:
Пример 1: Получение наименьшего элемента списка.
number = [3, 2, 8, 5, 10, 6] smallest_number = min(number) # Output: The smallest number is: 2 print("The smallest number is:", smallest_number)
Пример 2: Получение наименьшего элемента списка строк.
languages = ["Python", "C Programming", "Java", "JavaScript"] smallest_string = min(languages) # наименьший элемент (в алфавитном порядке) # Output: The smallest string is: C Programming print("The smallest string is:", smallest_string)
Суммирует элементы итерируемого объекта и возвращает результат.
Параметры:
iterable
— итерируемый объект (список, кортеж, словарь и т. д.). Элементы итерируемого объекта должны быть числами. Если итерируемый объект пуст, то функция вернёт начальное значение (start
).
start
— число, к которому добавляется сумма элементов указанного итерируемого объекта. Необязательный аргумент, по умолчанию равен нулю.
Возвращаемое значение:
Сумма элементов итерируемого объекта [с начальным значением (start
)].
Примечание:
Если вам нужно найти сумму чисел с плавающей запятой с расширенной точностью, можно использовать math.fsum(iterable)
.
Для конкатенации последовательностей, содержащих строки, можно использовать ''.join(sequence)
.
Для конкатенации нескольких последовательностей можно использовать itertools.chain()
.
Примеры:
numbers = [2.5, 3, 4, -5] numbers_sum = sum(numbers) print(numbers_sum) # 4.5 numbers_sum = sum(numbers, 10) print(numbers_sum) # 14.5 empty_list = [] print(sum(empty_list)) # 0
Проверяет, есть ли среди элементов итерируемого объекта хотя бы один, принимающий значение True
.
Параметры:
iterable
— итерируемый объект (список, строка, словарь, кортеж, множество и так далее).
Возвращаемое значение:
Возвращает булево значение:
True
, если хотя бы один элемент итерируемого объекта является True
.False
, если все элементы итерируемого объекта являются False
или если итерируемый объект пуст. Условие | Возвращаемое значение |
---|---|
Все значения равны True |
|
Все значения равны False |
|
Одно значение равно True (остальные — False) |
|
Одно значение равно False (остальные — True) |
|
Итерируемый объект пуст |
|
Примеры:
l = [1, 3, 4, 0] print(any(l)) # True l = [0, False] print(any(l)) # False l = [0, False, 5] print(any(l)) # True l = [] print(any(l)) # False
Проверяет, все ли элементы итерируемого объекта принимают значение True
.
Параметры:
iterable
— итерируемый объект (список, строка, словарь, кортеж, множество и так далее).
Возвращаемое значение:
Возвращает булево значение:
True
, если все элементы итерируемого объекта являются True
или если итерируемый объект пуст.False
, если хотя бы один элемент итерируемого объекта является False
. Условие | Возвращаемое значение |
---|---|
Все значения равны True |
|
Все значения равны False |
|
Одно значение равно True (остальные — False) |
|
Одно значение равно False (остальные — True) |
|
Итерируемый объект пуст |
|
Примеры:
l = [1, 3, 4, 5] print(all(l)) # True l = [0, False] print(all(l)) # False l = [1, 3, 4, 0] print(all(l)) # False l = [0, False, 5] print(all(l)) # False l = [] print(all(l)) # True
Преобразует значение к булевому типу (True
или False
), используя стандартную процедуру проверки истинности.
Параметры:
value
— значение, которое надо преобразовать.
Возвращаемое значение:
Возвращает булево значение:
False
, если переданное значение является False
или опущено.True
, если переданное значение является True
.Следующие значения считаются False
в Python:
None
False
__bool __()
или __len__()
, возвращающие 0 или False
.Все остальные значения считаются истинными (True
).
Примеры:
test = [] print(test,'is',bool(test)) # [] is False test = [0] print(test,'is',bool(test)) # [0] is True test = 0.0 print(test,'is',bool(test)) # 0.0 is False test = None print(test,'is',bool(test)) # None is False test = True print(test,'is',bool(test)) # True is True test = 'Easy string' print(test,'is',bool(test)) # Easy string is True
Возвращает список.
Параметры:
iterable
— объект, который может быть последовательностью (строка, кортеж) или коллекцией (множество, словарь), или любым итерируемым объектом. Необязательный аргумент.
Возвращаемое значение:
Список.
Примеры:
Пример 1: Создание списков из строки, кортежа и списка.
# пустой список print(list()) # [] # строка vowel_string = 'aeiou' # ['a', 'e', 'i', 'o', 'u'] print(list(vowel_string)) # кортеж vowel_tuple = ('a', 'e', 'i', 'o', 'u') # ['a', 'e', 'i', 'o', 'u'] print(list(vowel_tuple)) # список vowel_list = ['a', 'e', 'i', 'o', 'u'] # ['a', 'e', 'i', 'o', 'u'] print(list(vowel_list))
Пример 2: Создание списков из множества и словаря.
# множество vowel_set = {'a', 'e', 'i', 'o', 'u'} # ['i', 'u', 'a', 'o', 'e'] print(list(vowel_set)) # В случае словарей ключи словаря будут элементами списка. vowel_dictionary = {'a': 1, 'e': 2, 'i': 3, 'o':4, 'u':5} # ['a', 'e', 'i', 'o', 'u'] print(list(vowel_dictionary))
Возвращает генератор, отдающий пары счётчик(индекс)-элемент для указанного итерируемого объекта.
Параметры:
iterable
— последовательность, итератор или объекты, поддерживающие итерирование.
start
– значение, с которого начинается отсчет. Необязательный аргумент, по умолчанию равен нулю.
Возвращаемое значение:
enumerate object — генератор, отдающий пары счётчик(индекс)-элемент для указанного итерируемого объекта.
Примечание:
Вы можете преобразовать enumerate object в список или кортеж, используя функции list()
и tuple()
соответственно.
Примеры:
Пример 1: Работа с enumerate()
.
grocery = ['bread', 'milk', 'butter'] enumerateGrocery = enumerate(grocery) # <class 'enumerate'> print(type(enumerateGrocery)) # [(0, 'bread'), (1, 'milk'), (2, 'butter')] print(list(enumerateGrocery)) enumerateGrocery = enumerate(grocery, 10) # [(10, 'bread'), (11, 'milk'), (12, 'butter')] print(list(enumerateGrocery))
Пример 2: Прохождение по enumerate object.
grocery = ['bread', 'milk', 'butter'] for item in enumerate(grocery): print(item) print('\n') for count, item in enumerate(grocery): print(count, item) print('\n') # изменение значения start for count, item in enumerate(grocery, 100): print(count, item)
Результат:
(0, ‘bread’)
(1, ‘milk’)
(2, ‘butter’)
0 bread
1 milk
2 butter
100 bread
101 milk
102 butter
Возвращает итератор по кортежам, где i-й кортеж содержит i-й элемент из каждого переданного итерируемого объекта.
Параметры:
iterables
— итерируемые объекты.
Возвращаемое значение:
Итератор по кортежам на основе переданных итерируемых объектов.
Примечание:
Итератор останавливается, когда самая короткая из последовательностей исчерпана:
list(zip([1, 2, 4], [4, 5], [5, 7])) # [(1, 4, 5), (2, 5, 7)]
Если у вас последовательности разной длины и потеря данных недопустима, используйте itertools.zip_longest()
.
В сочетании с оператором *
функция zip()
может быть использована для распаковки списка (см. Пример 2).
Примеры:
Пример 1: Использование zip()
.
number_list = [1, 2, 3] str_list = ['one', 'two', 'three'] # Без аргументов result = zip() # Преобразование итератора в список result_list = list(result) print(result_list) # С двумя итерируемыми объектами result = zip(number_list, str_list) # Преобразование итератора во множество result_set = set(result) print(result_set)
Результат:
[]{(3, ‘three’), (2, ‘two’), (1, ‘one’)}
Пример 2: Распаковка списка с использованием zip()
.
coordinate = ['x', 'y', 'z'] value = [3, 4, 5] result = zip(coordinate, value) result_list = list(result) print(result_list) c, v = zip(*result_list) print('c =', c) print('v =', v)
Результат:
[(‘x’, 3), (‘y’, 4), (‘z’, 5)]c = (‘x’, ‘y’, ‘z’)
v = (3, 4, 5)
При анализе данных часто требуется быстро найти абсолютное значение набора чисел. Для выполнения этой задачи…
Pydantic - это мощная библиотека проверки данных и управления настройками для Python, созданная для повышения…
Python предлагает набор библиотек, удовлетворяющих различные потребности в визуализации, будь то академические исследования, бизнес-аналитика или…
В Python для представления данных в двоичной форме можно использовать байты. Из этой статьи вы…
В этой статье рассказывается о том, что такое Werkzeug и как Flask использует его для…
При работе с датами часто возникает необходимость прибавлять к дате или вычитать из нее различные…