如何解码或编码列表中的所有项目?
我的想法很简单:
for i in range(0,len(list1)):
list1[i]=list1[i].decode('utf-8')
但我很好奇是否有一些内置函数可以做到这一点?
答案 0 :(得分:1)
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)
请注意,它会复制基本列表:您不需要使用[:]