2017-11-18 277 views
0

我坚持一些列表/字典的工作。下面是字典的第一列表的一部分,我有查询交叉参考字典

{'createdTime': '2017-11-18T11:11:42.223Z', 
'fields': {'Pair ID': 307, 
      'Source': ['recmSPeRUDk7JxTEs'], 
      'Target': ['recEijqlS0kjmIjpL']}, 
'id': 'rec02AuJ8QzEZR56b'} 

SourceTarget它引用从另一个字典,看起来像这样的条目(通过这里的一切不相关剥离)

{'createdTime': '2017-11-05T17:14:59.000Z', 
'fields': {'Name': 'John', 
      'E-Mail': '[email protected] ', 
'id': 'rec0KMaG8L7qldPuI'} 

的链接通过id字段。所以上面字典中的源和目标引用了第二个条目。我知道需要发送电子邮件到上面的字典中的每个源代码,同时遍历列表。

两者都是词典的列表。我的问题是我是否需要遍历第二个列表,或者是否有方法以更智能的方式引用与上面的Source匹配的记录?

回答

0

由于您的数据格式化的答案是肯定的,你必须迭代,因为当你知道密钥并且你想要相应的值时,就要使用字典。在这里,您想要检索知道相反情况的值的密钥。

现在,如果这是你想要的,我会建议修改你的数据的结构,以便id不是一个字段,但直接是你的字典的关键。例如:

events_recorded = { 
    'rec02AuJ8QzEZR56b' : 
     {'createdTime': '2017-11-18T11:11:42.223Z', 
     'fields': { 
        'Pair ID': 307, 
        'Source': ['recmSPeRUDk7JxTEs'], 
        'Target': ['recEijqlS0kjmIjpL']}, 
     }, 
    'recRkckX9nfl5VhWk' : 
     {'createdTime': '2017-11-18T12:05:42.223Z', 
     'fields': { 
        'Pair ID': 45, 
        'Source': ['reclfUAfAmCRlmuKw'], 
        'Target': ['recMIG7mm7eNZ79IC']}, 
     }, 
    'receeyCtLXIA2r1dw' : 
     {'createdTime': '2017-11-18T12:05:42.223Z', 
     'fields': { 
        'Pair ID': 45, 
        'Source': ['recnQPVxk5Lvv73xz'], 
        'Target': ['recMV3zbkgevDEgr0y']}, 
     }, 

} 


addressbook = { 
    'rec0KMaG8L7qldPuI' : 
     {'createdTime': '2017-11-05T17:14:59.000Z', 
     'fields': {'Name': 'John', 
        'E-Mail': '[email protected] '} 
     }, 
    'reclfUAfAmCRlmuKw' : 
     {'createdTime': '2017-10-05T03:43:02.000Z', 
     'fields': {'Name': 'Ehtel', 
        'E-Mail': '[email protected] '} 
     }, 
    'recMV3zbkgevDEgr0y' : 
     {'createdTime': '2017-10-05T03:43:02.000Z', 
     'fields': {'Name': 'Gertrude', 
        'E-Mail': '[email protected] '} 
     }, 

    } 

然后,您可以做这样的事情:

reference_wanted = events_recorded['rec02AuJ8QzEZR56b']['fields']['Source'][0] 
email_wanted = addressbook[reference_wanted]['fields']['E-Mail'] 

但是这取决于你的数据是如何结构化