如何从字典列表中提取值

问题描述 投票:-1回答:1

我有一个名为“empty_list”的词典列表

[{u'course': 123,
  u'lat': 123,
  u'lon': 123,
  u'navigationalStatus': 0.0,
  u'sog': 0.0,
  u'ts': 123,
  u'Id': u'abcd'},
 {u'course': 123,
  u'lat': 123,
  u'lon': 123,
  u'navigationalStatus': 0.0,
  u'sog': 123,
  u'ts': 123,
  u'Id': u'abcde'}]

基本上我想得到一个列表,qazxsw poi

new_list

当我这样做:

[(u'abcd', lat, lon),
 (u'abcde', lat, lon)]

我得到new_list = [] for item in empty_list: new_list.append(( item['Id'],item['lat'], item['lon']))

但无论如何它似乎都有效。问题是TypeError: list indices must be integers, not str的长度只有24(当new_list长度为288时)。

你知道我怎么调试吗?

python list dictionary
1个回答
0
投票

您可以将列表分成两个词典

empty_list

然后

e 
[{'Id': 'abcd',
  'course': 123,
  'lat': 123,
  'lon': 123,
  'navigationalStatus': 0.0,
  'sog': 0.0,
  'ts': 123},
 {'Id': 'abcde',
  'course': 123,
  'lat': 123,
  'lon': 123,
  'navigationalStatus': 0.0,
  'sog': 123,
  'ts': 123}]

现在你有c0

chunks = [e[x:x+1] for x in range(0, 2)]
c0 = chunks[0][0]
c1 = chunks[1][0]

您可以解压缩键和值,然后选择您想要的任何一个

{'Id': 'abcd',
 'course': 123,
 'lat': 123,
 'lon': 123,
 'navigationalStatus': 0.0,
 'sog': 0.0,
 'ts': 123}
© www.soinside.com 2019 - 2024. All rights reserved.