Python - 如何从字典列表中获取值为零的所有键?
Python - How to get all keys where values are zero from list of dictionaries?
我有如下所示的词典列表:
planets = [
{ "name": "Mercury", "moonCount": 0 },
{ "name": "Venus", "moonCount": 0 },
{ "name": "Earth", "moonCount": 1 },
{
"name": "Mars",
"moonCount": 2
},
{
"name": "Jupiter",
"moonCount": 67
},
{
"name": "Saturn",
"moonCount": 62
},
{
"name": "Uranus",
"moonCount": 27
},
{
"name": "Neptune",
"moonCount": 13
},
{
"name": "Pluto",
"moonCount": 4
}
]
我正在尝试获取所有没有卫星的行星的列表。
如果把它变成熊猫数据框,我可以非常简单地做到这一点:
import pandas as pd
df = pd.json_normalize(planets)
no_moon_planets = df.loc[df['moonCount']==0, 'name']
no_moon_planets = no_moon_planets.tolist()
no_moon_planets
但我需要在不创建熊猫数据框的情况下执行此操作。所以基本上是在寻找解决方案,我可以直接从字典列表中提取行星列表,其中卫星数量为零。
感谢任何帮助。
你可以简单地用列表理解来做到这一点:
zero_moon = [dic for dic in planets if dic["moonCount"]==0]
如果您只想要行星的名称:
zero_moon = [dic["name"] for dic in planets if dic["moonCount"]==0]
执行以下操作:
Planets_without_moon = [i['name'] for i in planets if i['moonCount']==0]
我有如下所示的词典列表:
planets = [
{ "name": "Mercury", "moonCount": 0 },
{ "name": "Venus", "moonCount": 0 },
{ "name": "Earth", "moonCount": 1 },
{
"name": "Mars",
"moonCount": 2
},
{
"name": "Jupiter",
"moonCount": 67
},
{
"name": "Saturn",
"moonCount": 62
},
{
"name": "Uranus",
"moonCount": 27
},
{
"name": "Neptune",
"moonCount": 13
},
{
"name": "Pluto",
"moonCount": 4
}
]
我正在尝试获取所有没有卫星的行星的列表。 如果把它变成熊猫数据框,我可以非常简单地做到这一点:
import pandas as pd
df = pd.json_normalize(planets)
no_moon_planets = df.loc[df['moonCount']==0, 'name']
no_moon_planets = no_moon_planets.tolist()
no_moon_planets
但我需要在不创建熊猫数据框的情况下执行此操作。所以基本上是在寻找解决方案,我可以直接从字典列表中提取行星列表,其中卫星数量为零。
感谢任何帮助。
你可以简单地用列表理解来做到这一点:
zero_moon = [dic for dic in planets if dic["moonCount"]==0]
如果您只想要行星的名称:
zero_moon = [dic["name"] for dic in planets if dic["moonCount"]==0]
执行以下操作:
Planets_without_moon = [i['name'] for i in planets if i['moonCount']==0]