Python 2如何将values_list操作返回的unicode列表更改为字符串列表

jdt*_*toh 7 python django django-queryset django-views

我执行此操作以检索查询集:

Name.objects.values_list('name', flat=True)
Run Code Online (Sandbox Code Playgroud)

它返回以下结果:

[u'accelerate', u'acute', u'bear', u'big']
Run Code Online (Sandbox Code Playgroud)

结果都是unicode(u').如何将它们全部删除以便得到结果:

['accelerate', 'acute', 'bear', 'big']
Run Code Online (Sandbox Code Playgroud)

tay*_*fun 14

如果你想用utf8编码,你可以简单地做:

definitions_list = [definition.encode("utf8") for definition in definitions.objects.values_list('title', flat=True)]
Run Code Online (Sandbox Code Playgroud)


aka*_*IOT 9

您可以调用str所有值(请注意,map有点懒,list()添加后立即将其转换回可索引对象):

thingy = list(map(str, [u'accelerate', u'acute', u'bear', u'big']))
Run Code Online (Sandbox Code Playgroud)

或者使用列表理解:

[str(item) for item in [u'accelerate', u'acute', u'bear', u'big']]
Run Code Online (Sandbox Code Playgroud)

最后,为什么你要str明确要求它们; 添加到django模板(如{{ value }}),你将消失.