【发布时间】:2011-06-03 02:27:43
【问题描述】:
假设我有两个字典列表:
dates = [{'created':'2010-12-01'},{'created':'2010-12-02'},....]
elts = [{'created':'2010-12-01', 'key1':'val1', 'key2':'val2'}, {'created':'2010-12-05','key1':'val1'}]
日期列表是一堆连续的日期。
elts 列表可以是从 1 到 len(dates) 的任何位置,而我想要做的基本上是填充 elts,这样无论是否有其他键,它都有一个日期的字典。
这是我幼稚的解决方案:
for d in dates:
for e in elts:
if d['created'] == e['created']:
d.update(dict(key1=e['key1']))
因此,我将有一个最终的array d,每个dict 中都有所有日期,但可能/可能没有其他键/val。
什么是好的“pythonic”解决方案?
【问题讨论】:
-
听起来你真正想要的是一个 dicts 的 dict,外层的 dict 以“创建”日期为键。
-
d.update(dict(key1=e['key1']))是一种奇怪的写法d['key1']=e['key1']
标签: python list intersection