Ответ 1
elements = ['%{0}%'.format(element) for element in elements]
У меня есть список строковых элементов в python elements
и я хотел бы редактировать каждый элемент в элементах, поэтому у меня есть новый элемент. См. Код ниже (он не работает, но вы получите идею):
for element in elements:
element = "%" + element + "%"
Есть ли способ сделать это?
elements = ['%{0}%'.format(element) for element in elements]
Вы можете использовать понимание списка:
elements = ["%" + e + "%" for e in elements]
Вы можете использовать списки:
elements = ["%{}%".format(element) for element in elements]
elements = map(lambda e : "%" + e + "%", elements)
Существует два способа сделать то, что вы хотите: либо отредактировать список, который у вас есть, либо создать новый список, который вам нужен. Все ответы в настоящее время показывают, как использовать понимание списка (или map()
) для создания нового списка, и я согласен, что это, вероятно, путь.
Другим возможным способом было бы перебирать список и редактировать его на месте. Вы можете сделать это, если список был большим, и вам нужно было только изменить несколько.
for i, e in enumerate(elements):
if want_to_change_this_element(e):
elements[i] = "%{}%".format(e)
Но, как я уже сказал, я рекомендую вам использовать один из ответов на понимание списка.