我想从大型列表/ OrderedDict中创建一个列表生成器,如下所示:
x = OrderedDict([
(u'attributes',
OrderedDict([(u'type', u'Lead'),
(u'url', u'sobjects/Lead/BWEAZ')])),
(u'ConvertedAccountId', u'001i000000eA7K3AAK'),
(u'Company', u'Farmers Coop. of Florida'),
(u'ConvertedAccount',
OrderedDict([(u'attributes',
OrderedDict([(u'url', None)])),
(u'CreatedDate',
u'2014-02-26T23:52:13.000+0000')])),
(u'CreatedDate', u'2014-02-01T17:36:41.000+0000'),
(u'LN_SCORE__c', None)]
)
我得到了我想要的一部分:
gb = [{k: v for k, v in d.iteritems() if k == 'ConvertedAccountId' or
k == 'Company' or
k == 'CreatedDate' or
k == 'LN_Score__c'} for d in x]
但我不知道如何为'ConvertedAccount'包含'CreatedDate',因为'ConvertedAccount'的值是另一个OrderedDict而'CreatedDate'是一个键。
无论解决方案是什么,我都必须重命名'CreatedDate',因为外部字典中有另一个具有相同名称的键。不关心订单。