Я новичок в python3, и в последнее время я практиковался со списками и функциями.
Здесь я сохранил строки внутри списка, а затем передал этот список функции, которая должна объединять / добавляем строку, например:
def hello(names):
for name in names:
name = "Hello "+name+"!"
return names
liiist = ["L Lawliet", "Nate River", "Mihael Keehl"]
liiist = hello(liiist)
print(liiist)
Но вместо ['Hello L Lawliet!', 'Hello Nate River!', 'Hello Mihael Keehl!']
я просто получаю ['L Lawliet', 'Nate River', 'Mihael Keehl']
Ничего не произошло . Кроме того, PyCharm предупреждает меня, что Local variable 'name' value is not used
Я тоже экспериментировал с этой проблемой, и оказалось, что также не работает вне функций :
vars = ["trying", "to", "rewrite", "lists"]
for var in vars:
var = var + " hello"
print(vars)
Результат: ['trying', 'to', 'rewrite', 'lists']
Я уже нашел способ обойти эту проблему, но я не рад, что нашел решение случайно / огромным количеством проб и ошибок. Думаю, я не понимаю, почему python дает такие результаты, которые могут помешать моей карьере в будущем. Кто-нибудь, пожалуйста, объясните, почему это происходит?
Также, если вам интересно, вот это обходной путь, который я нашел:
def hello(names):
counter = 0
for name in names:
name = name + " the Great"
names[counter] = names
counter += 1
return names
names = ["L Lawliet", "Nate River", "Mihael Keehl"]
names = hello(names)
print(names)
Предоставление мне более эффективного кода, чем приведенный выше, также может помочь:)