2013-06-06 14 views
9

Mam listę Pythona, który wygląda tak:lista Kodowanie Python na UTF-8

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

Teraz chcę zakodować go w UTF-8. Dlatego chociaż powinienem użyć:

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

Ale lista wydruku daje tylko

a 

czyli pierwszy element listy. Nawet nie ma już listy. Co ja robię źle?

+0

Czy chcesz wypisać jako listę lub do połączonego ciągu? – jamylak

+1

przenosisz zmienną listy do pierwszej zakodowanej litery – MikeL

Odpowiedz

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

@ user2401772 Jamylak jest bardzo szybki :) – TerryA

+1

nie działa, jeśli weźmiesz pod uwagę: '>>> items = [u'ç ', u'á', u ' í '] >>> [' \ xc3 \ xa7 ',' \ xc3 \ xa1 ',' \ xc3 \ xad '] ' – ePascoal

+0

@MrMartin Nie opublikowałeś pełnych poleceń – jamylak

5

list[0] to pierwszy element, a nie lista. zmieniasz swoją zmienną list na nową wartość, kodowanie utf-8 pierwszego elementu.

Nie należy także określać zmiennych list, ponieważ maskuje on funkcję list().