Подтвердить что ты не робот

Выполните операцию строки для каждого элемента в списке Python

У меня есть список строковых элементов в python elements и я хотел бы редактировать каждый элемент в элементах, поэтому у меня есть новый элемент. См. Код ниже (он не работает, но вы получите идею):

for element in elements:
    element = "%" + element + "%"

Есть ли способ сделать это?

4b9b3361

Ответ 1

elements = ['%{0}%'.format(element) for element in elements]

Ответ 2

Вы можете использовать понимание списка:

elements = ["%" + e + "%" for e in elements]

Ответ 3

Вы можете использовать списки:

elements = ["%{}%".format(element) for element in elements]

Ответ 4

elements = map(lambda e : "%" + e + "%", elements)

Ответ 5

Существует два способа сделать то, что вы хотите: либо отредактировать список, который у вас есть, либо создать новый список, который вам нужен. Все ответы в настоящее время показывают, как использовать понимание списка (или map()) для создания нового списка, и я согласен, что это, вероятно, путь.

Другим возможным способом было бы перебирать список и редактировать его на месте. Вы можете сделать это, если список был большим, и вам нужно было только изменить несколько.

for i, e in enumerate(elements):
    if want_to_change_this_element(e):
        elements[i] = "%{}%".format(e)

Но, как я уже сказал, я рекомендую вам использовать один из ответов на понимание списка.