有没有办法通过将它们转换为其他编码来打印出由 unicode 字符串组成的字典?
Is there any way to print out a dictionary consisted of unicode strings by converting them to other coding?
我在写一个程序,有点卡住了。我正在尝试向字典添加键和值。但我所有的变量都在 Unicode 中。如果我通过将它们编码为 utf-8 将它们转换为字符串,我会得到相同的答案。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
info = {}
info[name] = surname
所以如果我想打印出名字:
print(name) --> it prints the right answer
如果我试图打印出字典信息:
print(info) --> prints out unicode chars
P.S。输出应以俄语编写。
升级到Python 3....
>>> print(name)
Негрони
>>> print(info)
{'Негрони': 'Лондонский'}
当然取决于你的项目,但我强烈推荐它。
特别是考虑到 Sunsetting Python 2
这里有两种方法。
name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
info = {}
info[name] = surname
#One way
{print(info[k]) for k in info}
#Another way
print(info[name].encode("unicode-escape").decode("unicode-escape"))
我在写一个程序,有点卡住了。我正在尝试向字典添加键和值。但我所有的变量都在 Unicode 中。如果我通过将它们编码为 utf-8 将它们转换为字符串,我会得到相同的答案。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
info = {}
info[name] = surname
所以如果我想打印出名字:
print(name) --> it prints the right answer
如果我试图打印出字典信息:
print(info) --> prints out unicode chars
P.S。输出应以俄语编写。
升级到Python 3....
>>> print(name)
Негрони
>>> print(info)
{'Негрони': 'Лондонский'}
当然取决于你的项目,但我强烈推荐它。 特别是考虑到 Sunsetting Python 2
这里有两种方法。
name = u'\u041d\u0435\u0433\u0440\u043e\u043d\u0438'
surname = u'\u041b\u043e\u043d\u0434\u043e\u043d\u0441\u043a\u0438\u0439'
info = {}
info[name] = surname
#One way
{print(info[k]) for k in info}
#Another way
print(info[name].encode("unicode-escape").decode("unicode-escape"))