Страницы

Поиск по вопросам

понедельник, 8 июля 2019 г.

Функция не изменяет элементы списка

def make_great(magicans): for magican in magicans: magican = "the Great " + magican
def show_magicans(magicans): for magican in magicans: print(magican)
magicans = ['valery', 'alice'] make_great(magicans) show_magicans(magicans)
Есть список имен. Функция ' make_great() ' должна модифицировать каждое имя. На выходе список остается преждним.
Помогите, пожалуйста, найти ошибку.


Ответ

Можно и так:
def make_great(magicans): magicans[:] = ['the Great {}'.format(x) for x in magicans]
Пример:
In [174]: l = ['A','B','C']
In [175]: make_great(l)
In [176]: l Out[176]: ['the Great A', 'the Great B', 'the Great C']

Комментариев нет:

Отправить комментарий