我正在寻找一种方法将一个程序的所有输出(我不知道它们的类型是什么)转换为字典... 我想到这样的解决方案:
if type(body) != dict:
body = {'result': body}
我知道这是错的! 有没有办法,如果变量的类型不是字典,我们自己创建一个字典?!
答案 0 :(得分:1)
如果您的对象不是dict但可以轻松转换为dict(例如,对列表),您可以使用:
def make_a_dict(some_object):
if isinstance(some_object, dict):
return some_object
else:
try:
return dict(some_object)
except:
return {'return': some_object}
print(make_a_dict({'a': 'b'}))
# {'a': 'b'}
print(make_a_dict([(1,2),(3,4)]))
# {1: 2, 3: 4}
print(make_a_dict(2))
# {'return': 2}