我的代码如下,只是想知道有没有更好的方法用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'))
关于python - 如何在 Python 中以简洁的方式将字典中的某些值转换为列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20101379/