在调用 .append() 之前,对于很多对象,我会做类似的事情:
if not d.get('turns'):
d['turns'] = []
Python 中是否有一个 oneliner 可以做到这一点?
经过一些回答,这是我的代码:
d = json.loads(str(self.data))
if not d.get('turns'):
d['turns'] = []
d['turns'].append({
'date': time_turn,
'data': data
})
请您参考如下方法:
您可以使用 defaultdict :
from collections import defaultdict
d = defaultdict(list)
d['turns'] # []
其他选项是使用 setdefault :
d.setdefault('turns', []) # []
d.setdefault('turns', 'foo') # []
更新 鉴于您可以编写的完整代码
d = defaultdict(list, json.loads(str(self.data)))
d['turns'].append({'date': time_turn, 'data': data})
或
d = json.loads(str(self.data))
d.setdefault('turns', []).append({'date': time_turn, 'data': data})
