来自OrderedDict的OrderedDict的List生成器的键值对

时间:2014-03-09 20:20:52

标签: python list dictionary listiterator

我想从大型列表/ 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',因为外部字典中有另一个具有相同名称的键。不关心订单。

0 个答案:

没有答案