我有以下字典
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] }
我有另一个包含相同数据但没有在Unicode中的字典
Dict= { 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] }
我试图比较两个字典,但它说两个字典都不一样。我假设它是因为Unicode
有什么方法可以通过从My_dict中删除Unicode或转换' Dict'来比较两个字典。到Unicode?
我获得Unicode的原因是因为我正在使用S表达式解析器。下面链接到解析器模块以供参考。 http://sexpdata.readthedocs.org/en/latest/
答案 0 :(得分:0)
import json
some_other_dict = json.loads(json.dumps(My_Dict))
print(some_other_dict)
尝试这个。它将删除unicode。
答案 1 :(得分:0)
要从字典中删除Unicode,请尝试:
import json, ast
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] }
print(ast.literal_eval(json.dumps(My_Dict)))
答案 2 :(得分:0)
也许对两者都执行json.dumps。
json.dumps({ u'Apple': [u'A' , u'B'] ,u'orange': [u'C' , u'D'] })
Output: `'{"orange": ["C", "D"], "Apple": ["A", "B"]}'
json.dumps({ 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] })
Output: `'{"orange": ["C", "D"], "Apple": ["A", "B"]}'`
答案 3 :(得分:-1)
要删除unicode,您必须从unicode转换键和值。
检查以下代码
My_Dict= { u'Apple': [u'A' , u'B'] ,u'orange': [u'A' , u'B'] }
Dict= { 'Apple': ['A' , 'B'] ,'orange': ['C' , 'D'] }
My_Dicts={}
for i, v in My_Dict.items():
ky= i.encode('ascii','ignore')
if type(v)is list:My_Dicts[ky]=[ item.encode('ascii') for item in v ]
else: My_Dicts[ky] =v.encode('ascii','ignore')
My_Dict=My_Dicts
print My_Dict
print Dict
输出
{'orange': ['C', 'D'], 'Apple': ['A', 'B']}
{'orange': ['C', 'D'], 'Apple': ['A', 'B']}