Python 列表理解与';不能使用编码功能

Python 列表理解与';不能使用编码功能,python,list-comprehension,encode,Python,List Comprehension,Encode,我需要遍历所有元素才能在Python列表中进行字符串编码转换。尝试使用列表理解,但它不起作用 这是我的密码: contain_list = [[u'\u6e2c\u8a66', 'b', 'c'], [u'\u5de5\u4f5c', 'b1', 'c1']] [[x.encode('utf-8') for x in row] for row in contain_list] 但如果我尝试: for row in contain_list: for index in range(0,

我需要遍历所有元素才能在Python列表中进行字符串编码转换。尝试使用列表理解,但它不起作用

这是我的密码:

contain_list = [[u'\u6e2c\u8a66', 'b', 'c'], [u'\u5de5\u4f5c', 'b1', 'c1']]

[[x.encode('utf-8') for x in row] for row in contain_list]
但如果我尝试:

for row in contain_list:
    for index in range(0,3):
        row[index] = row[index].encode('utf-8')

我可以用utf-8转换字符串。我如何使用列表理解来完成工作?

事实上,你已经得到了你想要的:

>>> contain_list = [[u'\u6e2c\u8a66', 'b', 'c'], [u'\u5de5\u4f5c', 'b1', 'c1']]
>>> r = [[x.encode('utf-8') for x in row] for row in contain_list]
>>> r[0][0]
'\xe6\xb8\xac\xe8\xa9\xa6'

我猜这是一些中文的UTF-8表示。

如果您打印
包含列表的每个元素,您可以看到它们的编码是正确的。
如果您看到内容列表,您将只看到
utf-8
表示

contain_list = [[u'\u6e2c\u8a66', 'b', 'c'], [u'\u5de5\u4f5c', 'b1', 'c1']]
contain_list = [[x.encode('utf-8') for x in row] for row in contain_list]

print contain_list

for each in contain_list:
    for e in each:
        print e

[['\xe6\xb8\xac\xe8\xa9\xa6', 'b', 'c'], ['\xe5\xb7\xa5\xe4\xbd\x9c', 'b1', 'c1']]

測試
b
c
工作
b1
c1