如何正确地重新格式化unicode格式的python字典?

如何正确地重新格式化unicode格式的python字典?,python,dictionary,unicode,formatting,Python,Dictionary,Unicode,Formatting,我有一些输入数据,它是一个python字典,格式为unicode。大概是这样的: Input = {u'city': u'London', u'offer_type': u'3'} 我需要创建一个脚本,能够重新格式化字典的值。因此,如果一个值是整数,就像“offer_type”的情况一样,它将其设置为整数。如果该值是一个字符串,如“city”,则将其设置为字符串。这可以使用str()和int()函数轻松完成 但问题是,我的输入数据可能会有所不同,因此键可能不同,这些键的关联值也可能不同。因此,

我有一些输入数据,它是一个python字典,格式为unicode。大概是这样的:

Input = {u'city': u'London', u'offer_type': u'3'}
我需要创建一个脚本,能够重新格式化字典的值。因此,如果一个值是整数,就像“offer_type”的情况一样,它将其设置为整数。如果该值是一个字符串,如“city”,则将其设置为字符串。这可以使用
str()
int()
函数轻松完成

但问题是,我的输入数据可能会有所不同,因此键可能不同,这些键的关联值也可能不同。因此,我需要以某种方式自动区分unicode值是数字还是字符串,并重新格式化它

我的第一个想法是获取每个值,尝试将它们转换为整数,如果检索到错误消息,则尝试将其转换为字符串。但这根本不是蟒蛇式的,我对它的性能有怀疑

谢谢,, 阿尔瓦罗

你可以试试这个

Output={}
对于输入中的键。键():
如果输入[key],则输出[str(key)]=int(输入[key])
打印输出

为什么要“转换为字符串”?我可以理解整数转换的必要性,但“内部使用”unicode是一种方法(参见unicode三明治模式:在程序输入端将所有字节字符串解码为unicode,在程序输出端将其编码为所需的编码,并且只在程序内使用unicode)。