Найти - Пользователи
Полная версия: Использовать функцию map
Начало » Python для новичков » Использовать функцию map
1
VladimirDeg
Здравствуйте!
Дан список:
users_list = [
('Александр', 'ru'),
('James', 'us'),
('Daniella', 'es'),
('Someone', 'unknown country'),
]
нужно получить:
Привет, Александр!
Hello, James!
Hola, Daniella!
Hello, Someone, but I do not know where are you from!

Без map сделал так:
users_list = [
('Александр', 'ru'),
('James', 'us'),
('Daniella', 'es'),
('Someone', 'unknown country'),
]
list_1 = list()
list_2 = list()
for i in users_list:
list_1.append(i[0])
list_2.append(i[1])

def res():
for a in list_2:
if a == "ru":
b = "Привет, "
print(b, list_1[0],"!", sep="")
elif a == 'us':
b = "Hello, "
print(b, list_1[1],"!", sep="")
elif a == 'es':
b = 'Hola, '
print(b, list_1[2],"!", sep="")
elif a == 'unknown country':
b = 'Someone,'
print(b, list_1[3],"but I do not know where are you from!")
res()
Как улучшить код используя map?
FishHook
VladimirDeg
Как улучшить код используя map?
map вообще лучше не использовать, используйте list comprehensions вместо этого
FishHook
VladimirDeg
Как улучшить код
вам нужен словарь {“язык”: “приветствие”}
py.user.next
  
>>> users_list = [
...     ('Александр', 'ru'),
...     ('James', 'us'),
...     ('Daniella', 'es'),
...     ('Someone', 'unknown country'),
... ]
>>> 
>>> greetings_dict = {
...     'ru': 'Привет, {}!',
...     'us': 'Hello, {}!',
...     'es': 'Hola, {}!',
...     'unknown country': 'Hello, {}, but I do not know where are you from!'
... }
>>> 
>>> print(*map(lambda i: greetings_dict[i[1]].format(i[0]), users_list), sep='\n')
Привет, Александр!
Hello, James!
Hola, Daniella!
Hello, Someone, but I do not know where are you from!
>>>
VladimirDeg
FishHook
map вообще лучше не использовать, используйте list comprehensions вместо этого
Такое задание поставили, что надо использовать map

Спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB