Готовы ли вы поднять свои навыки Python на новый уровень? (включая фрагменты кода)

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

Эти 5 основных функций обязательно должны быть в вашем наборе инструментов.

  • С помощью функции map() вы можете легко применить указанную функцию к каждому элементу в итерируемом элементе.
  • Функция reduce() позволяет объединить последовательность элементов в одно значение.
  • Функция filter() позволяет выбирать только те элементы, которые возвращают True при передаче через функцию.
  • Функция zip() объединяет элементы из нескольких последовательностей в кортежи с помощью одного вызова функции.
  • А функция enumerate() добавляет счетчик к любому итерируемому объекту. Улучшите свои навыки программирования прямо сейчас.

Начнем!

1. map()

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

Вот пример использования map() для применения функции len() к списку строк:

def get_string_lengths(strings):
    return map(len, strings)

strings = ['cat', 'window', 'defenestrate']
lengths = get_string_lengths(strings)
print(lengths)  # prints <map object at 0x10fdfa320>

# convert the map object to a list
lengths = list(lengths)
print(lengths)  # prints [3, 6, 12]

2. reduce()

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

Вот пример использования reduce() для умножения всех элементов в списке целых чисел:

import functools

def multiply(x, y):
    return x * y

numbers = [1, 2, 3, 4]
result = functools.reduce(multiply, numbers)
print(result)  # prints 24

3. filter()

Функция filter() возвращает объект фильтра, который включает только те элементы входной итерации, которые возвращают True при передаче в указанную функцию.

Вот пример использования filter() для получения списка только четных чисел из списка целых чисел:

def is_even(x):
    return x % 2 == 0

numbers = [1, 2, 3, 4, 5, 6]
evens = filter(is_even, numbers)
print(evens)  # prints <filter object at 0x10fdfa320>

# convert filter object to a list
evens = list(evens)
print(evens)  # prints [2, 4, 6]

4. zip()

Функция zip() принимает две или более последовательностей и возвращает список кортежей, где каждый кортеж содержит один элемент из каждой последовательности. Он используется для одновременного перебора нескольких последовательностей.

Вот пример использования zip() для объединения двух списков строк:

colors = ['red', 'orange', 'yellow', 'green']
fruits = ['apple', 'banana', 'mango']
color_fruit_pairs = zip(colors, fruits)
print(color_fruit_pairs)  # prints <zip object at 0x10fdfa320>

# convert the zip object to a list
color_fruit_pairs = list(color_fruit_pairs)
print(color_fruit_pairs)  # prints [('red', 'apple'), ('orange', 'banana'), ('yellow', 'mango')]

5. enumerate()

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

Вот пример использования enumerate() для перебора списка строк и печати индекса и элемента:

words = ['cat', 'window', 'defenestrate']

for i, word in enumerate(words):
    print(i, word)

# Output:
# 0 cat
# 1 window
# 2 defenestrate

Вы также можете указать начальный индекс, включив его в качестве аргумента в enumerate(). Например:

for i, word in enumerate(words, start=1):
    print(i, word)

# Output:
# 1 cat
# 2 window
# 3 defenestrate

enumerate() — полезная функция для перебора списка и отслеживания текущего индекса. Это может избавить вас от необходимости вручную создавать переменную счетчика и увеличивать ее в цикле.

Это обертка👋

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

Спасибо за прочтение! Если вам понравилась статья, не забудьте поставить аплодисменты (до 50!) и связаться со мной в LinkedIn и подписаться на Medium, чтобы оставаться в курсе с моими новыми статьями 🤩.