2024-05-16 18:55:46 发布
网友
我有两条口述:
dicts1 = {'field1':'', 'field2':1, 'field3':1.2} dicts2 = {'field1':123, 'field2':123, 'field3':'123'}
我想将dict2中的每个值转换为与dict1中相应值相同的类型,最快的python方法是什么?
dict2
dict1
这一行程序将执行此操作-但不检查类型错误:
dicts1 = {'field1':'', 'field2':1, 'field3':1.2} dicts2 = {'field1':123, 'field2':123, 'field3':'123'} print {k : type(dicts1[k])(dicts2[k]) for k in dicts2}
这也会做到这一点——对某些人来说可能更具可读性:
print {k : type(dicts1[k])(v) for (k,v) in dicts2.iteritems()}
假设它们是兼容类型:
for k, v in dicts1.iteritems(): try: dicts2[k] = type(v)(dicts2[k]) except (TypeError, ValueError) as e: pass # types not compatible except KeyError as e: pass # No matching key in dict
这一行程序将执行此操作-但不检查类型错误:
这也会做到这一点——对某些人来说可能更具可读性:
假设它们是兼容类型:
相关问题 更多 >
编程相关推荐