Карта Python () застосовує функцію до всіх елементів ітератора, заданих як вхідні дані. Наприклад, ітератором може бути список, кортеж, набір, словник, рядок, і він повертає ітерабельний об'єкт карти. Карта Python () - це вбудована функція.
У цьому підручнику ви дізнаєтесь:
- Синтаксис:
- Як працює функція map ()?
- Використання map () із вбудованими функціями Python
- Використання map () із рядком як ітератор
- Використання map () із числами listof
- Використання map () з Tuple
- Використання map () зі словником
- Використання map () із Set
- Використання map () з лямбда-функцією
- Використання декількох ітераторів всередині функції map ()
Синтаксис:
map(function, iterator1,iterator2… iteratorN)
Параметри
Ось два важливих
- function: обов’язкова функція, яку потрібно надати картографії, яка буде застосована до всіх елементів, доступних в ітераторі.
- ітератор: обов’язковий об’єкт, який можна повторити. Це може бути список, кортеж тощо. Ви можете передати кілька об’єктів ітераторів функції map ().
Повернене значення
Функція map () збирається застосувати дану функцію до всіх елементів всередині ітератора і повернути ітерабельний об'єкт карти, тобто кортеж, список тощо.
Як працює функція map ()?
Функція map () приймає два входи як функцію та ітерабельний об'єкт. Функція, яка надається map (), є звичайною функцією, і вона буде перебирати всі значення, наявні в заданому ітерабельному об'єкті.
Наприклад, вважаємо, що у вас є список чисел, і ви хочете знайти квадрат кожного з чисел.
Щоб отримати вихід, нам потрібна функція, яка поверне квадрат заданого числа. Функція буде такою:
def square(n):return n*n
Список елементів, які ми хочемо знайти, має такий вигляд:
my_list = [2,3,4,5,6,7,8,9]
Тепер давайте використаємо вбудовану функцію python map (), щоб отримати квадрат кожного з елементів у my_list.
Остаточний код такий:
def square(n):return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))
Вихід:
Результатом функції map (), як видно з результату, є об'єкт карти, що відображається на екрані як <об'єкт карти на 0x0000002C59601748>.
Вам доведеться повторити вихід з карти за допомогою циклу for або за допомогою методу list (), щоб отримати кінцевий результат. Я використав list () у коді, який відображає значення всередині поданого списку.
Отже, використовуючи функцію map (), ми можемо отримати квадрат кожного числа. Список, який було надано map, був [2,3,4,5,6,7,8,9], а за допомогою функції квадрат () з карти (), яку ми отримали, це [4, 9, 16, 25, 36, 49, 64, 81].
Карта функцій () застосовує функцію квадрат () до всіх елементів у списку. Наприклад, змінна my_list та оновлює список квадратом кожного числа. Вихід зберігається у змінній updated_list.
Використання map () із вбудованими функціями Python
Функція Python map () є вбудованою функцією, а також може використовуватися з іншими вбудованими функціями, доступними в Python. У цьому прикладі ми будемо використовувати вбудовану функцію Python round (), яка заокруглює задані значення.
Приклад:
Список, який у мене є, - це my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907].
Мені потрібні округлі значення для кожного елемента, що присутній у списку. Ми використаємо round () як функцію map ().
my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))
Вихід:
Функція round () застосовується до всіх елементів у списку, і вона повертає список із усіма значеннями, округленими, як показано на виході.
Використання map () із рядком як ітератор
Ми також можемо використовувати map () на рядку. У Python рядок діє як масив, тому ми можемо легко використовувати його всередині map ().
У прикладі ми маємо функцію myMapFunc (), яка дбає про перетворення заданого рядка у верхній регістр. Функція myMapFunc () надається функції map (). Функція map подбає про перетворення рядка, заданого у верхній регістр, передаючи рядок у myMapFunc ().
def myMapFunc(s):return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:print(i, end)
Вихід:
Використання map () із числами listof
Для роботи зі списком у map () потрібно взяти список чисел і помножити кожне число у списку на 10.
Список, який ми будемо використовувати: [2,3,4,5,6,7,8,9]. Функція myMapFunc () дбає про помноження заданого числа на 10. Функція отримана для відображення разом зі списком.
Приклад:
def myMapFunc(n):return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))
Вихід:
Результатом, який ми бачимо, є те, що кожне число у списку є
помножене на 10.
Використання map () з Tuple
Кортеж - це об’єкт у Python, який має елементи, розділені комами та укладені в круглі дужки. У прикладі ми візьмемо кортеж із рядковими значеннями. Функція, яку ми будемо використовувати, перетворить задані значення у верхній регістр.
Приклад:
def myMapFunc(n):return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))
Вихід:
Вихід, який ми отримуємо, - це кортеж із усіма значеннями, перетвореними у верхній регістр.
Використання map () зі словником
Словник на Python створюється за допомогою фігурних дужок ({}). Оскільки словник є ітератором, ви можете використовувати його всередині функції map (). Давайте тепер використаємо словник як ітератор всередині функції map ().
Наступний приклад показує роботу ітератора словника всередині map ()
def myMapFunc(n):return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))
Вихід:
Використання map () із Set
Набір на Python - це невпорядкована колекція предметів у фігурних дужках (()). Оскільки set () також є ітератором, ви можете використовувати його всередині функції map ().
Ось робочий приклад використання набору як ітератора всередині map ()
def myMapFunc(n):return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))
Вихід:
Використання map () з лямбда-функцією
У Python лямбда-вирази використовуються для побудови анонімних функцій. Вам доведеться використовувати ключове слово лямбда так само, як ви використовуєте def для визначення нормальних функцій.
Отже, у цьому прикладі ми будемо використовувати лямбда-функцію всередині map (). Лямбда-функція помножить кожне значення у списку на 10.
Приклад:
my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))
Вихід:
Використання декількох ітераторів всередині функції map ()
Приклад 1: Передача двох ітераторів списку в map ()
Ви можете одночасно надіслати до функції map () кілька ітераторів, тобто список, кортеж тощо.
Наприклад, якщо ви хочете додати два списки. Те саме можна зробити за допомогою функції map (). Ми будемо використовувати два списки my_list1 і my_list2.
У наведеному нижче прикладі перший елемент у списку my_list1 додається до першого елементу списку my_list2. Функція myMapFunc () приймає елементи my_list1 і my_list2 і повертає суму обох.
Ось робочий приклад додавання двох заданих списків за допомогою функції map ().
def myMapFunc(list1, list2):return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))
Вихід:
Приклад 2: Передача одного набору та ітератора списку на карту ()
Ми збираємось використовувати список та ітератор кортежу у функції map (). Функція надана map - myMapFunc () отримає елементи зі списку та Tuple. Елементи будуть поєднані знаком підкреслення (_). Робочий приклад, як показано нижче:
def myMapFunc(list1, tuple1):return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))
Вихід:
Резюме
- Карта Python () - це вбудована функція, яка застосовує функцію до всіх елементів ітератора, заданих як вхідні дані. Наприклад, ітератором може бути список, кортеж, рядок тощо, і він повертає ітерабельний об'єкт карти.
- Функція map () збирається застосувати дану функцію до всіх елементів всередині ітератора і повернути ітерабельний об'єкт карти, тобто кортеж, список тощо.
- Функція Python map () є вбудованою функцією, а також може використовуватися з іншими вбудованими функціями, доступними в Python.
- Кортеж - це об’єкт у Python, який має елементи, розділені комами та укладені в круглі дужки. У прикладі візьмемо кортеж із рядковими значеннями. Функція, яку ми будемо використовувати, перетворить задані значення у верхній регістр.
- Словник на Python створюється за допомогою фігурних дужок ({}). Оскільки словник є ітератором, ви можете використовувати його всередині функції map ().
- Набір на Python - це невпорядкована колекція предметів у фігурних дужках (()). Оскільки set () також є ітератором, ви можете використовувати його всередині функції map ().
- У Python лямбда-вирази (або лямбда-форми) використовуються для побудови анонімних функцій. Отже, ключове слово лямбда має використовуватися, коли ви хочете використовувати лямбду всередині карти ().
- Ви можете надіслати більше ніж один ітератор, тобто список, кортеж до функції map ().