Skip to main content
 首页 » 编程设计

python之如果索引不存在,则为一行

2025年05月04日8itcoder

在调用 .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})