2013-06-06 9 views
9

Ho una lista python che assomiglia a quello:Encode Python lista a UTF-8

list = [u'a', u'b', u'c'] 

Ora voglio codificare in UTF-8. Perciò anche se dovrei usare:

list = list[0].encode("utf-8") 

Ma lista di stampa dà solo

a 

che significa il primo elemento della lista. Neanche una lista. Che cosa sto facendo di sbagliato?

+0

Vuoi output come lista o stringa unita? – jamylak

+1

stai riassegnando la variabile lista alla prima lettera codificata – MikeL

risposta

36
>>> items = [u'a', u'b', u'c'] 
>>> [x.encode('utf-8') for x in items] 
['a', 'b', 'c'] 
+1

@ user2401772 Jamylak è molto veloce :) – TerryA

+1

non funziona se si considera: '>>> articoli = [u'ç ', u'á', u ' í '] >>> [' \ xc3 \ xa7 ',' \ xc3 \ xa1 ',' \ xc3 \ xad '] ' – ePascoal

+0

@MrMartin Non hai inviato i comandi completi – jamylak

5

list[0] è il primo elemento, non un elenco. stai riassegnando la tua variabile list ad un nuovo valore, la codifica utf-8 del primo elemento.

Inoltre, non denominare le variabili list, poiché maschera la funzione list().