使用Python解码/编码列表中的所有项目

时间:2014-10-23 13:02:53

标签: python list encoding

如何解码或编码列表中的所有项目?

我的想法很简单:

for i in range(0,len(list1)):
    list1[i]=list1[i].decode('utf-8')

但我很好奇是否有一些内置函数可以做到这一点?

2 个答案:

答案 0 :(得分:1)

使用list comprehension

list1[:] = [x.decode('utf-8') for x in list1]

使用list1[:] = [...]将改变list1绑定的列表对象,这意味着引用该列表的任何其他对象也将被修改 - 例如:它是"就地&# 34。

使用list1 = [...]将创建一个新的列表对象并将其重新绑定到名称list1,这意味着引用相同列表的任何其他对象都不会反映任何更改。

list1 = [x.decode('utf-8') for x in list1]

答案 1 :(得分:0)

您可以将lambda语句与内置函数map结合使用:

list1 = map(lambda x: x.decode('utf-8'), list1)

请注意,它会复制基本列表:您不需要使用[:]