AttributeError:“列表”对象没有属性“解码”

时间:2018-11-29 20:12:42

标签: python utf-8

我在下面的代码行中尝试将其解码为utf-8,如何在列表中运行它?

radars_string = '\n'.join(changed_project_data['rdars'].decode('utf-8', 'ignore'))

错误:-

AttributeError: 'list' object has no attribute 'decode'

3 个答案:

答案 0 :(得分:0)

您可以使用生成器表达式对列表中的各个字符串进行解码:

radars_string = '\n'.join(s.decode('utf-8', 'ignore') for s in changed_project_data['rdars'])

答案 1 :(得分:0)

您无法将decode应用于列表。

您可以使用'\n'.join([i.decode('utf-8', 'ignore') for i in changed_project_data['rdars']])这样的生成器将解码应用于每个元素。

或使用地图:'\n'.join(map(lambda x: x.decode('utf8', 'ignore'), changed_project_data['rdars']))

答案 2 :(得分:0)

radars_string = '\n'.join([i.decode('utf-8', 'ignore') for i in changed_project_data['rdars']])