我有以下代码:
students_list = []
for student in students:
student_dict = {}
dict_student['nane'] = name
logger.info(student_dict['name'])
# prints ==> MÓNICA MENÉNDEZ GALLEGOS
dict_student['address'] = address
logger.info(student_dict['address'])
# prints ==> GENERAL YAGÜE 32
students_list.append(dict_student)
logger.info(students_list)
# prints => [{'name':u'M\xd3NICA MEN\xc9NDEZ GALLEGOS', 'address': u'GENERAL YAG\xdcE 32}
如您所见,这是一段非常简单的代码。我得到一个值,将其分配给字典并将所述字典附加到列表中。
令我烦恼的是,当我记录student_dict['name']
的值时,我可以正确地看到所有字符。
但是,当我记录整个列表时,其数据无法正确显示。
为什么会这样?
答案 0 :(得分:3)
您看到列表中字符串的repr表示形式:
[{'name':u'M\xd3NICA MEN\xc9NDEZ GALLEGOS', 'address': u'GENERAL YAG\xdcE 32}
打印时,您会看到str
输出。
它们都是相同的unicode字符串:
In [1]: (l[0]["address"])
Out[1]: u'GENERAL YAG\xdcE 32'
In [2]: (l[0]["address"]) == u"GENERAL YAGÜE 32"
Out[2]: True