2012-06-07 12 views
5
l = ['1','2','3'] 
goal = ['<li>1</li>','<li>2</li>'] 

¿Cómo puedo obtener goal de l?Python "join" en ambos lados de las cadenas?

¡Estoy jugando con listas de comprensión, pero está desordenado!

+3

¿Quería excluir su último artículo (3) en la lista 'l' de su' objetivo'? – Levon

Respuesta

10

Pruebe el formato de cadenas y la comprensión de listas, como tal.

goal = ['<li>{0}</li>'.format(x) for x in l] 
+1

Nota: Se prefiere el formato% de formato obsoleto. – jamylak

+0

@jamylak ¡Ah, buen punto! He modificado mi respuesta. – cheeken

+0

Encantador, gracias. Aunque utilicé el original que publicó ... "formato." Parece superfluo. – matt

0

Con string.format método

goal = ['<li>{0}</li>'.format(sym) for sym in l] 
1

Dos opciones utilizando str.format():

goal = map('<li>{0}</li>'.format, l) 

... o ...

goal = ['<li>{0}</li>'.format(x) for x in l] 

Tenga en cuenta que en Python 3.x map() devolverá un iterador en lugar de una lista, por lo que, si desea una lista, deberá usar list(map(...)).

Cuestiones relacionadas