如何在python中从dict中的列表中提取特定值?

如何在python中从dict中的列表中提取特定值?,python,list,dictionary,Python,List,Dictionary,我下载了一个json文件,并将其作为dict导入python。现在dict显示它只有一个len,即2个'id'和'stats'。我想将“stats”的值提取为一个单独的dict,以便进一步操作数据。我想进一步做的操作是,我只需要“stats”的第一部分。因此,我只能得到球员全名为“莱尼·汉佩尔”的数据 我的问题: 1.如何将“stats”的值放入单独的dict中? 2.如何仅获取“player\u fullname”的值:“Lenny Hampel”? stats是一个dict列表,而不是dic

我下载了一个json文件,并将其作为dict导入python。现在dict显示它只有一个len,即2个'id'和'stats'。我想将“stats”的值提取为一个单独的dict,以便进一步操作数据。我想进一步做的操作是,我只需要“stats”的第一部分。因此,我只能得到球员全名为“莱尼·汉佩尔”的数据

我的问题: 1.如何将“stats”的值放入单独的dict中? 2.如何仅获取“player\u fullname”的值:“Lenny Hampel”?


stats是一个dict列表,而不是dict。要将该列表作为单独的变量获取,只需:

stats = data['stats']
要提取所有名称,请使用列表:

names = [d['player_fullname' ] for d in data['stats']]
要获得该列表中的特定dict,请使用:

lennymatch = next(d for d in data if d['player_fullname'] == "Lenny Hampel")

如果名称不在列表/目录中,这将引发错误如果希望返回空目录,则根据需要使用默认参数next或try/except

dct_lst = lennymatch1["stats"]
然后是名为“Lenny Hampel”的球员:

一气呵成

player = [item 
          for item in lennymatch1["stats"] 
          if item["player_fullname"] == "Lenny Hampel"]

你试过什么,到底有什么问题?读例如。
player = [item 
          for item in lennymatch1["stats"] 
          if item["player_fullname"] == "Lenny Hampel"]