Модуль 10.3 (Функция map Python). Функция map
используется для применения функции к каждому элементу итерируемого объекта (например, списка или словаря).
Перед вами имеется список
numbers
, состоящий из целых чисел. Ваша задача преобразовать каждый элемент спискаnumbers
в строку и сохранить полученный результат в новый списокstrings
. Для преобразования используйтеmap
В качестве ответа выведите переменную
strings
numbers = [116, -411, 448, 636, -254, -295, 220, 216, 187, -150, -458, -372, 450, 141, -626, -168, -383, 389, -184, 609, 221, 311, 526, 254, -631, -174, -555, -338, 226, 695, -16, 333, 12, -600, -258, -383, -101, 121, 40, 278, 118, -462, -671, 78, -69, -568, -228, -445, -47, -565] strings = list(map(str, numbers)) # при помощи функции map каждое число преобразуем в строку print(strings) # выводим преобразованный список со строками
Перед вами имеется список
numbers
, состоящий из целых чисел. Ваша задача увеличить каждый элемент спискаnumbers
втрое и сохранить полученный результат в новый списокincrease_3
. Для преобразования используйте функциюmap
В качестве ответа выведите переменную
increase_3
numbers = [116, -411, 448, 636, -254, -295, 220, 216, 187, -150, -458, -372, 450, 141, -626, -168, -383, 389, -184, 609, 221, 311, 526, 254, -631, -174, -555, -338, 226, 695, -16, 333, 12, -600, -258, -383, -101, 121, 40, 278, 118, -462, -671, 78, -69, -568, -228, -445, -47, -565] increase_3 = list(map(lambda x: x*3, numbers)) # при помощи функции map все числа из списка увеличили втрое print(increase_3) # выводим список с увеличенными числами
Напишите программу, которая возводит в квадрат и в куб каждое число из списка
numbers
пользуясь при этом функциямиmap
иlambda
.В результате у вас должно получится два отдельных списка: в одном квадраты, в другом кубы. Их необходимо вывести на экран.
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] square = list(map(lambda x: x**2, numbers)) # при помощи функции map в переменную записываем список с квадратами чисел из списка numbers cube = list(map(lambda x: x**3, numbers)) # при помощи функции map в переменную записываем список с кубами чисел из списка numbers print(square) # выводим список с квадратами чисел print(cube) # выводим список с кубами чисел
Помните задачку про RGB? Сейчас вам предстоит выполнить обратное преобразование
Ваша задача создать функцию
from_hex_to_rgb
, которая принимает на вход строку — закодированный код цвета в формате RGB и возвращает кортеж из трех значений (оттенок_красного, оттенок_зеленого, оттенок_синего). Вот посмотрите примеры:from_hex_to_rgb(#000000) => (0, 0, 0) from_hex_to_rgb(#FFFFFF) => (255, 255, 255) from_hex_to_rgb(#FF0000) => (255,0, 0) from_hex_to_rgb(#00FF00) => (0,255, 0) from_hex_to_rgb(#0000FF) => (0,0,255) from_hex_to_rgb(#FFFFFF) => (255,255,255) from_hex_to_rgb(#87CEEB) => (135,206,235) from_hex_to_rgb(#87CEFA) => (135,206,250) from_hex_to_rgb(#191970) => (25,25,112)Как только функция будет готова, ее необходимо применить ко всем элементам списка
colors
при помощи функцииmap
. Ниже уже имеется готовый списокcolors
и цикл обхода результата функцииmap
. Добавьте только название функции внутри вызоваmap
, все остальное код сделает за вас.
def from_hex_to_rgb(color: str) -> tuple: colo = color[1:] # избавляемся от символа решётки red = int(colo[:2], 16) # первые 2 символа строки после символа решётки переводим в десятичную систему исчисления green = int(colo[2:4], 16) # 3 и 4 символ строки после символа решётки переводим в десятичную систему исчисления blue = int(colo[4:], 16) # последние 2 символа строки после символа решётки переводим в десятичную систему исчисления return tuple([red, green, blue]) #возвращаем кортеж с оттенками rgb colors = ['#B22222', '#DC143C', '#FF0000', '#FF6347', '#FF7F50', '#CD5C5C', '#F08080', '#E9967A', '#FA8072', '#FFA07A', '#FF4500', '#FF8C00', '#FFA500', '#FFD700', '#B8860B', '#DAA520', '#EEE8AA', '#BDB76B', '#F0E68C', '#808000', '#FFFF00', '#9ACD32', '#556B2F', '#6B8E23', '#7CFC00', '#7FFF00', '#ADFF2F'] for red, green, blue in map(from_hex_to_rgb, colors): print(f"Red={red}, Green={green}, Blue={blue}")
На вход вашей программе поступают английские буквы через пробел в верхнем или маленьком регистре.
Ваша задача сформировать список кортежей. Каждый элемент кортежа будет состоять из двух значений: берется соответствующая буква сперва в верхнем регистре, а затем в нижнем (см. примеры ниже)
Выведите на экран полученный список кортежей.
a = input().split() # получаем строку с символами и разбиваем на список b = list(map(lambda i: (i.upper(), i.lower()), a)) # список с символами преобразуем с помощью функции map и вместо каждой буквы образуется кортеж с этой буквой в верхнем регистре и в нижнем print(b) # выводим полученный список кортежей
Перед вами имеется список кортежей
names
. Каждый кортеж состоит из двух элементов: имени и фамилии. Ваша задача на основании спискаnames
создать новый списокnew_names
, где каждый кортеж должен замениться на строку конкатенации имени и фамилии, между которыми стоит пробел . Вот пример на других данных:names = [('Monica', 'Waters'), ('Juan', 'Lee'), ('Donna', 'Walker')] new_names = ['Monica Waters', 'Juan Lee', 'Donna Walker']Для преобразования используйте функцию
map
В качестве ответа выведите переменную
new_names
names = [('Gerald', 'Tucker'), ('Tricia', 'Johnson'), ('Robert', 'Mendez'), ('Shawn', 'Gutierrez'), ('Gary', 'Ross'), ('Melanie', 'Warren'), ('Drew', 'May'), ('Jennifer', 'Carroll'), ('Ann', 'Lynn'), ('Ralph', 'Vazquez'), ('Brittany', 'Erickson'), ('Mark', 'Montoya'), ('Randall', 'Hicks'), ('Tyler', 'Miller'), ('Bryan', 'Brown'), ('Joshua', 'Sawyer'), ('Sarah', 'Phillips'), ('Donna', 'Davenport'), ('Rebekah', 'Johnson'), ('Andrew', 'Reynolds'), ('April', 'Turner'), ('Amanda', 'Ryan'), ('Jennifer', 'Poole'), ('Jonathan', 'Lane'), ('Laura', 'Stone'), ('Sara', 'Brown'), ('Alexander', 'Johnson'), ('Emily', 'Phillips'), ('Tyler', 'Smith'), ('Victor', 'Kelly'), ('Audrey', 'Thomas'), ('Melissa', 'Green'), ('Bethany', 'Holt'), ('Christopher', 'Kerr'), ('Gabrielle', 'Black'), ('Jennifer', 'Wade'), ('Douglas', 'Horton'), ('Steven', 'Welch'), ('Terri', 'Thompson'), ('Cassandra', 'Nelson'), ('Andrew', 'Jones'), ('James', 'Schultz'), ('Richard', 'Castillo'), ('Shaun', 'Logan'), ('Danielle', 'Lane'), ('Mark', 'Anderson'), ('Charles', 'Shaw'), ('Derrick', 'Grant'), ('Tracy', 'Pierce'), ('Robert', 'Washington')] new_names = list(map(lambda x: x[0] + ' ' + x[1], names)) # при помощи функции map берем кортеж и при помощи конкатенации складываем имя и фамилию, добавляя пробел между ними print(new_names) # выводим список с ФИ людей
Перед вами имеется список словарь
persons
. Изучите внимательно все элементы списка, у них имеется одинаковый набор ключей. Ваша задача на основании спискаpersons
отобрать информацию о номерах телефона и сложить их в отдельный списокphones
. Номера в спискеphones
должны располагаться в том же порядке, в котором расположены их владельцы в спискеpersons
.В качестве ответа выведите переменную
phones
Используйте функцию
map
persons = [ { 'birthday': '1983-10-25', 'job': 'Field seismologist', 'name': 'Andrew Hernandez', 'phone': '680-436-8521x3468' }, { 'birthday': '1993-10-03', 'job': 'Pathologist', 'name': 'Paul Harmon', 'phone': '602.518.4130' }, { 'birthday': '2002-06-11', 'job': 'Designer, multimedia', 'name': 'Gregory Flores', 'phone': '691-498-5303x079' }, { 'birthday': '2006-11-28', 'job': 'Print production planner', 'name': 'Jodi Garcia', 'phone': '(471)195-7189'}, { 'birthday': '2019-12-05', 'job': 'Warehouse manager', 'name': 'Elizabeth Cannon', 'phone': '001-098-434-5950x276' }, { 'birthday': '1984-06-12', 'job': 'Visual merchandiser', 'name': 'Troy Lucas', 'phone': '+1-018-070-2288x18433' }, { 'birthday': '1993-09-14', 'job': 'International aid/development worker', 'name': 'Laurie Sandoval', 'phone': '2930693269' }, { 'birthday': '1999-05-25', 'job': 'Editor, film/video', 'name': 'Jack Clark', 'phone': '8643048473' }, { 'birthday': '1985-09-11', 'job': 'Magazine journalist', 'name': 'Kimberly Johnson', 'phone': '+1-583-428-7663' }, { 'birthday': '1990-10-07', 'job': 'Museum/gallery curator', 'name': 'Austin Liu PhD', 'phone': '714-879-5250' } ] phones = list(map(lambda x: x['phone'], persons)) # при помощи функции map мы в список добавляем значение по ключу phone в каждом из словарей print(phones) # выводим полученный список с номерами
Имеется три списка из 50 элементов:
list_x
,list_y
иlist_w
Ваша задача произвести научные расчеты для соответствующий значений этих списков. Нужно подставить в формулу
x^2-x*y*w + w^4x2−x∗y∗w+w4
поочередно первые значения из списков
list_x
,list_y
иlist_w
, потом вторые, затем третьи и т.д. Значения из спискаlist_x
должны подставляться в переменнуюx
, из спискаlist_y
— в переменнуюy
и из спискаlist_w
— в переменнуюw
.Всего должно получиться 50 вычисленных значений. Их необходимо сложить в список и вывести на экран.
list_x = [25, 48, 23, 13, -18, -10, -3, 16, 2, -12, 20, -14, 14, 45, 41, 6, 11, 15, 22, -14, -11, 41, 15, 48, 47, 41, -8, 1, 4, 1, 40, 27, -11, -2, -14, -15, 35, 4, 49, 4, 5, 13, 50, 35, -3, 3, 30, -11, 7, 12] list_y = [-9, 17, 41, 47, -5, -10, -5, 13, 31, -11, 37, 9, 46, 27, -1, 36, 32, 23, -12, 38, 8, 9, 17, 16, 29, -4, 4, 2, 1, 46, 6, 49, -16, 21, -19, -10, 15, -13, 20, 13, -18, 21, -17, 21, 10, 5, 38, -1, 18, 22] list_w = [9, -26, 3, 21, 48, -14, 43, -4, -16, 16, 41, 43, -27, -9, 10, -10, 4, -2, 1, 7, 30, -29, 11, 17, 31, 31, -26, 38, 38, -17, 35, 17, 35, 10, -25, 42, -30, -10, -20, 20, 15, 0, 29, -30, -21, -13, -27, -21, -18, -26] res = list(map(lambda x, y, w: x**2 - x*y*w + w**4, list_x, list_y, list_w)) # при помощи функции map берём по очереди сразу из трех списокв числа и подставляем в формулу, результат которой добавляем в наш список print(res) # выводим список с результатами
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы