在Python中从字典中提取值到列表

时间:2017-10-22 09:57:47

标签: python list dictionary

我在Python下面有字典,我想提取" red"并将其列入清单。我在变量" Reference"中有字典存储。如下所示:

Reference = {
    u'Message': u'', 
    u'Code': 0, 
    u'Data': [{u'Status': u'Running', u'InternalReferenceNumber': u'25333342818',  u'Currency': u'EUR', u'red': u'WA-1a9asd4sdfdas, u'PnlInfo': None},  
              {u'Status': u'Running', u'InternalReferenceNumber': u'25333342818',  u'Currency': u'EUR', u'red': u'WA-150824979asd4', u'PnlInfo': None}, 
              {u'Status': u'Running', u'InternalReferenceNumber': u'25333342818',  u'Currency': u'EUR', u'red': u'WA-1508249792364', u'PnlInfo': None}]
}

我尝试了下面的代码,但不知怎的,我没有达到以下输出(即一个列表,其中包含从字典中提取的值" red":

results = [WA-1a9asd4sdfdas,WA-150824979asd4,WA-1508249792364]

代码:

results = [ item['BetPlacementReference'] for item in Reference]
print results

请问您如何获得所需的清单?

感谢。

3 个答案:

答案 0 :(得分:0)

试试这个:

results = [item['red'] for item in Reference['Data']]

老实说,我不知道为什么你试图在数据中使用密钥'BetPlacementReference'找到anthing:)

答案 1 :(得分:0)

只是做:

>>> out = []
>>> for ele in Reference['Data']: 
        out.append(ele['red']) 

>>> out
=> ['WA-1a9asd4sdfdas', 'WA-150824979asd4', 'WA-1508249792364']

或者,使用List comprehension的单个班轮:

>>> [ ele['red'] for ele in Reference['Data'] ]
=> ['WA-1a9asd4sdfdas', 'WA-150824979asd4', 'WA-1508249792364']

答案 2 :(得分:0)

您可以使用什么来获取数据中某个点的红色值,其中0是列表中的字典:

Reference['Data'][0]['red']

这是有效的,因为Data是可订阅的,列表中的每个字典也是如此。 为了让我们需要做的每个值循环:

red_list = []
for ref_dict in Reference['Data']:
    red_list.append(ref_dict['red'])

这将遍历DataReference的每个部分,将红色值添加到red_list