9 удивительных встроенных функций Python

Python — это мощный язык программирования, который поставляется с обширной библиотекой полезных встроенных функций. Эти функции могут не только сделать код более читабельным, но и значительно улучшить его производительность.

В этом посте я расскажу о девяти самых полезных встроенных функциях Python.

1. карта ()

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

map(function, iterable)

map() — хорошая альтернатива циклу for, когда нам нужно выполнить операцию над каждым элементом этого цикла прямо и поэлементно. Примечательно, что в некоторых случаях map() с точки зрения производительности лучше, чем цикл for, поскольку map() использует основные оптимизации и выполняет операции параллельно.

Предположим, у нас есть список строк, представляющих числа, и мы хотим преобразовать каждый элемент строки в соответствующее целочисленное значение.

numbers = ['1', '2', '3', '4', '5']

## Traditional for loop
result_for_loop = []
for num in numbers:
    result_for_loop.append(int(num))

    
## map()
result_map = list(map(int, numbers))


print(result_for_loop)  # Output: [1, 2, 3, 4, 5]
print(result_map)  # Output: [1, 2, 3, 4, 5]

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

Например, map() не подходит, если в приведенном выше примере нам нужно проверить, подходит ли каждый элемент для преобразования в целое число. Чтобы map() работал, нам нужна лямбда-функция, которая включает условную проверку, а также преобразование. Проблема в том, что это решение делает наш код менее читаемым по сравнению с традиционным цикломfor.

## Traditional for loop
numbers = ['1', '2', '3', 'four', '5']

result_for_loop = []
for num in numbers:
    if num.isdigit():
        result_for_loop.append(int(num))

## map()
result_map = list(map(lambda num: int(num) if num.isdigit() else None, numbers))…