从字典列表中的一个键的值创建列表

时间:2017-11-05 07:40:43

标签: python python-3.x list dictionary iteration

这就是我的数据

[{'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 14},
  'id': 'rec5Y5ML3w2nlKCYx'},
 {'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 12},
  'id': 'recB8ioXO0c8f9AHc'},
 {'createdTime': '2017-11-05T07:26:51.915Z',
  'fields': {'Pair ID': 17},
  'id': 'recCxg3XzjbQ1z5zh'}]

我需要提取id值并将它们放在一个简单的列表中,因此结果应如下所示。

['rec5Y5ML3w2nlKCYx','recB8ioXO0c8f9AHc','recCxg3XzjbQ1z5zh']

2 个答案:

答案 0 :(得分:3)

假设:

data = [{'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 14},
  'id': 'rec5Y5ML3w2nlKCYx'},
 {'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 12},
  'id': 'recB8ioXO0c8f9AHc'},
 {'createdTime': '2017-11-05T07:26:51.915Z',
  'fields': {'Pair ID': 17},
  'id': 'recCxg3XzjbQ1z5zh'}]

您可以使用列表理解:

[d['id'] for d in data]

答案 1 :(得分:1)

你可以试试这个

>>> lst=[{'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 14},
  'id': 'rec5Y5ML3w2nlKCYx'},
 {'createdTime': '2017-11-05T06:43:08.000Z',
  'fields': {'Pair ID': 12},
  'id': 'recB8ioXO0c8f9AHc'},
 {'createdTime': '2017-11-05T07:26:51.915Z',
  'fields': {'Pair ID': 17},
  'id': 'recCxg3XzjbQ1z5zh'}]

>>> [i.get('id') for i in lst]
['rec5Y5ML3w2nlKCYx', 'recB8ioXO0c8f9AHc', 'recCxg3XzjbQ1z5zh']
>>>