我的代码如下,只是想知道有没有更好的方法用Python实现。
d[k] 是一个 dict,item 是一个 list。
if d[k].has_key('v1'):
item.append(d[k]['v1'])
else:
item.append('')
if d[k].has_key('v2'):
item.append(d[k]['v2'])
else:
item.append('')
if d[k].has_key('e'):
item.append(d[k]['e'])
else:
item.append('')
if d[k].has_key('x'):
item.append(d[k]['x'])
else:
item.append('')
请您参考如下方法:
使用dict.get()如果键不存在则返回默认值:
item.append(d[k].get('v1', ''))
此处,d[k].get('v1', '') 返回与 'v1' 关联的值(如果存在于字典中),否则它'将返回 ''。
将此与循环和 list.extend() 结合起来,您可以将所有这些键添加到一行列表中:
item.extend(d[k].get(key, '') for key in ('v1', 'v2', 'e', 'x'))
