Führen Sie einen String-Vorgang für jedes Element in einer Python-Liste aus

Ich habe eine Liste von String-Elementen in Pythonelements und möchte jedes Element in Elementen bearbeiten, also habe ich ein neues Element. Siehe Code unten (es funktioniert nicht, aber du wirst die Idee bekommen):

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

Gibt es einen Weg, dies zu tun?

5 Solutions collect form web for “Führen Sie einen String-Vorgang für jedes Element in einer Python-Liste aus”

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

Sie können das Listenverständnis verwenden:

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

Sie können Listenverständnisse verwenden:

 elements = ["%{}%".format(element) for element in elements] 
 elements = map(lambda e : "%" + e + "%", elements) 

Es gibt grundsätzlich zwei Möglichkeiten, was du tun kannst, was du willst: Bearbeiten Sie entweder die Liste, die Sie haben, oder erstellen Sie eine neue Liste, die die gewünschten Änderungen hat. Alle Antworten, die derzeit dort oben sind, zeigen, wie man ein Listenverständnis (oder eine map() ) benutzt, um die neue Liste aufzubauen, und ich stimme zu, dass ist wahrscheinlich der Weg zu gehen.

Die andere Möglichkeit wäre, über die Liste zu iterieren und sie zu bearbeiten. Sie könnten dies tun, wenn die Liste groß war und man musste nur ein paar ändern.

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

Aber wie gesagt, ich empfehle Ihnen, eine der Listenverständnis Antworten zu verwenden.

Python ist die beste Programmiersprache der Welt.