Рубрики
Без рубрики

Функция карты Python – как сопоставить список в Python 3.0, с примером кода

Автор оригинала: Daniel Chae.

Если вы изучаете, как кодировать, функция карта Python – ваша возможность навыкать.

Картинка это: вы хотите стать более эффективным кодером. Вы хотите, чтобы ваш код компилировал быстрее. Вы хотите произвести впечатление на своих сверстников со своими надежными знаниями кодирования. Если кто-то из этого резонирует с вами, вы пришли в нужное место.

Перед тем, как мы будем двигаться вперед, вам нужно понять, какие функции и поставки являются:

Функции – код, который выполняет определенную задачу.

Примеры: Лен () , Распечатать() , ул.

Есть объекты, которые содержат один или несколько членов.

Примеры: список, словарь, кортеж

Функция карты Python – это функция, которая позволяет преобразовать целую передачу, используя другую функцию. Ключевая концепция здесь – это преобразование, которое может включать, но не ограничивается:

  • Преобразование строк на цифры
  • Округление номеров
  • Получение длины каждого намерения

Вам может быть интересно: «Почему я не могу просто сделать выше с циклом?»

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

Сначала давайте начнем с A для цикла

Допустим, у вас есть список строк, которые на самом деле цифры, но вам нужно преобразовать список строк в целые числа:

list_of_strings = [“5”, “6”, “7”, “8”, “9”, “10”]

Вы можете использовать пустой список и для цикла для выполнения этого:

list_of_strings = ["5","6","7","8","9", "10"]

result = []

for string in list_of_strings:
    result.append(int(string))
    
print(result)

Если вы запустите этот пример, вы получите:

Выход: [5, 6, 7, 8, 9, 10]

Что происходит под капотом с циклом для цикла

Вы можете быть довольны результатом, но подумайте о том, что сделал ваш код.

Вы сказали компьютеру пройти каждый участник («5», «6», «7», и т. Д…), конвертировать участника, а затем сохранить этот элемент в новый список. При использовании A для петли для преобразования списка функциональна, он не является оптимальным.

Функция карты Python (с примером кода)

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

list_of_strings = ["5","6","7","8","9", "10"]

Затем мы будем использовать функцию карты Python для преобразования списка строк в список целых чисел:

result = map(int,list_of_strings)

print(list(result))

Если вы запустите вышеприведенный пример, вы получите тот же результат:

Выход: [5, 6, 7, 8, 9, 10]

Прежде чем мы доберемся до того, как функция карты Python более оптимальна, чем использование A для цикла, давайте сломаемся тем, что мы только что сделали:

list_of_strings = ["5","6","7","8","9", "10"]

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

result = map(int,list_of_strings)

Давайте сломаем вышеуказанный код изнутри. Синтаксис функции Python Map выглядит следующим образом:

map(insert function here, insert iterable here)

карта () Это просто имя функции карты Python, здесь ничего не представляется.

Вставить функцию здесь это пространство, где вы пишете в функции. В приведенном выше примере кода мы использовали int функция. Мы могли бы использовать еще одну встроенную функцию, как Лен () Или мы могли бы построить нашу собственную функцию и использовали ее здесь.

Вставить ITERABLE здесь Является ли пространство, где вы пишете в результате по вашему выбору. В этом случае мы вставили наш список ( list_of_strings ).

Результат Является ли переменная, где мы храним наших недавно преобразованных членов.

Давайте перейдем к последней строке кода. Опять же, мы будем работать изнутри:

print(list(result))

Список () Занимает нашими вновь преобразованные члены и сообщает нашему компьютеру, эти участники друг от друга.

Печать () Отпечатает наш новый список!

Что происходит под капотом с функцией карты Python

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

Если вы хотите трансформировать, функцию карты Python> для петлей

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

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

Тем не менее, функция карты Python – это только начало. Есть много более привлекательных трюков Python, которые помогут вам написать более элегантный код и улучшить свои навыки программирования. Счастливое кодирование!