2013-06-06 34 views
9

tôi có một danh sách python đó trông như thế:Encode Python danh sách sang UTF-8

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

Bây giờ tôi muốn mã hóa nó trong UTF-8. Vì vậy, tôi mặc dù tôi nên sử dụng:

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

Nhưng danh sách in cho chỉ

a 

nghĩa là phần tử đầu tiên của danh sách. Thậm chí không một danh sách nữa. Tôi đang làm gì sai?

+0

bạn có muốn xuất dưới dạng danh sách hoặc chuỗi đã tham gia không? – jamylak

+1

bạn chỉ định lại biến danh sách cho thư được mã hóa đầu tiên – MikeL

Trả lời

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

@ user2401772 Jamylak rất nhanh :) – TerryA

+1

không hoạt động nếu bạn xem xét: '>>> items = [u'ç ', u'á', u ' í '] >>> [' \ xc3 \ xa7 ',' \ xc3 \ xa1 ',' \ xc3 \ xad '] ' – ePascoal

+0

@MrMartin Bạn không đăng các lệnh đầy đủ – jamylak

5

list[0] là phần tử đầu tiên, không phải danh sách. bạn gán lại giá trị list var cho một giá trị mới, mã hóa utf-8 của phần tử đầu tiên.

Ngoài ra, không đặt tên biến của bạn list, vì nó che chức năng list().

Các vấn đề liên quan