我有一些输入数据,这是一个格式为unicode的python字典。像这样:
Input = {u'city': u'London', u'offer_type': u'3'}
我需要创建一个能够重新格式化字典值的脚本。因此,如果值是整数,就像“offer_type”的情况一样,它将其设置为整数。它的值是一个字符串,如“city”,它将其设置为字符串。这可以使用str()
和int()
函数轻松完成。
但问题是我的输入数据可能会有所不同,因此键可能会有所不同,也可能是这些键的关联值。因此,我需要以某种方式自动区分unicode值是数字还是字符串,然后重新格式化。
我的第一个想法是获取每个值,尝试将它们转换为整数,如果我检索错误消息,然后尝试将其转换为字符串。但这根本不是pythonic,我对性能表示怀疑。
谢谢你, 阿尔瓦罗
答案 0 :(得分:1)
你可以试试这个
Output = {}
for key in Input.keys():
Output[str(key)] = int(Input[key]) if Input[key].isdigit() else str(Input[key])
print Output