将键值放入Python字典列表中

2024-09-29 17:24:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个python字典,看起来像这样:

{
    "hits": [
    {
       "_source": {
           "network": "att",
           "month": january,
           "volume": "30",
           "mass": 3,
       }
    },
    {
       "_source": {
           "network": "vzn",
           "month": june,
           "volume": "10",
           "mass": 2,
         }
     }
  ]
}

我想拿着这本词典,把一些东西列在单子上。例如,我想得到所有元素的质量和体积,并将它们放在如下的列表格式中:

mass = [3,2]
volume = [30, 10]

我知道我可以通过json的每个元素创建一个循环和一个循环,并将其添加到每个列表中,但我想知道是否有一种内置的或更优雅的方法来实现这一点。你知道吗


Tags: 元素source列表字典networkattmass单子
2条回答

代码如下:

a={
    "hits": [
    {
       "_source": {
           "network": "att",
           "month": 'january',
           "volume": "30",
           "mass": 3,
       }
    },
    {
       "_source": {
           "network": "vzn",
           "month": 'june',
           "volume": "10",
           "mass": 2,
         }
     }
  ]
}

a=a.items();

mass=[]
volume=[]

for value in a:
    for k in value[1]:
        k=list(k.items());
        volume.append(k[0][1]['volume'])
        mass.append(k[0][1]['mass'])

print(mass)
print(volume)

列表选项:

mass_list = 'mass:', [i['_source']['mass'] for i in d['hits']]

volume_list = 'volume:', [i['_source']['volume'] for i in d['hits']]

输出:

print(mass_list)   # mass: [3, 2]
print(volume_list) # volume: ['30', '10']

相关问题 更多 >

    热门问题