首页 > 解决方案 > 如何从python中的字典列表中轻松获取值列表?

问题描述

这是json:(仅供参考,'0'到'2'是原始pd.Series([1,1,1])的索引

json1 = {
    'hi':[
      {'0':1},
      {'1':1},
      {'2':1}
   ]
}

我想[1,1,1]从 json1 中获取。

我试过了:

records = [v for v in json1['hi']]

emt=[]
for rec in records:
   for i in rec.keys():
      value = rec[i]
      emt.append(value)

有没有像一行代码这样简单易行的方法来实现它?谢谢

标签: python

解决方案


如果您的数据类型不方便:

json1 = {
    'hi':[
      {'0':1},
      {'1':1},
      {'2':1}
   ]
}

那么提取你想要的数据的代码也会很不方便:

[next(iter(d.values())) for d in json1["hi"]]

如果您的数据类型方便:

json1 = {
    'hi':{'0':1,
          '1':1,
          '2':1}
    }

那么代码也会很方便:

list(json1['hi'].values())

故事的寓意:使用字典,而不是单元素字典的列表。


推荐阅读