2011-08-19 13 views

Respuesta

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

hola he visto este formato un par de veces. ¿Hay algún lugar donde pueda aprender esto? – locoboy

+0

@ cfarm54 Sí, los [docs] (http://docs.python.org/library/string.html#format-string-syntax) son bastante buenos – JBernardo

+1

Lo siento, no es la pieza de .format, la sintaxis para poner el código en soportes. – locoboy

11

Puede utilizar la lista de comprensión:

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

Puede utilizar las listas por comprensión:

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

Hay básicamente dos maneras que usted puede hacer lo que quiere: o editar la lista que tienes, o bien crea una nueva lista que tenga los cambios que deseas. Todas las respuestas actuales muestran cómo usar una lista de comprensión (o un map()) para compilar la nueva lista, y estoy de acuerdo en que probablemente sea el camino a seguir.

La otra manera posible sería iterar sobre la lista y editarla en su lugar. Puede hacer esto si la lista es grande y solo necesita cambiar algunas.

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

Pero como dije, le recomiendo que use una de las respuestas de la lista de comprensión.

Cuestiones relacionadas