Python 如何访问自定义对象列表中的字典值?

Python 如何访问自定义对象列表中的字典值?,python,list,dictionary,object,Python,List,Dictionary,Object,我有以下玩具对象: x = [Agg({ 'name': 'James', 'class': 'calculus1', 'avg': 90}), Agg({ 'name': 'Mary', 'class': 'calculus1', 'avg': 99})] 因此,外括号[表示这是一个数据类型Agg系列的列表](不,它是一个类对象-类Agg-请参阅注释)。外括号(对我来说,表示Agg是一个元组类对象,{with key values]

我有以下玩具对象:

x = [Agg({   'name': 'James',
     'class': 'calculus1',
     'avg': 90}),
     Agg({   'name': 'Mary',
     'class': 'calculus1',
     'avg': 99})]


因此,外括号[表示这是一个数据类型Agg系列的列表](不,它是一个类对象-类Agg-请参阅注释)。外括号(对我来说,表示Agg是一个元组类对象,{with key values]表示一个字典。我想将“avg”的键值放入一个新的列表中,avg使
avgs=[90,99,50100]
我认为答案涉及到对列表的理解,大致如下:
z=[x[0]表示a in x]
,但我不理解访问Agg的语法。我怎么做?

我想Agg是一个返回pandas.Series的函数,如下所示:

import pandas as pd

def Agg(x):
    return pd.Series(x)
因此,您可以通过以下方法轻松获得平均值:

result=[i.avg for i in x]

>>>print(result)

[90, 99]

(如果您能提供更多关于Agg的信息,它会更具体)

我想Agg是一个返回pandas.Series的函数,如下所示:

import pandas as pd

def Agg(x):
    return pd.Series(x)
因此,您可以通过以下方法轻松获得平均值:

result=[i.avg for i in x]

>>>print(result)

[90, 99]
(如果您可以提供更多关于Agg的信息,它会更具体)

您可以使用嵌套循环 前任: 对于x中的i: 对于x[i]中的j 我认为这将有助于访问字典。

您可以使用嵌套循环 前任: 对于x中的i: 对于x[i]中的j
我想这将有助于访问字典。

这实际上是两个对象(x和y)。Agg到底是什么?这与pandas.DataFrame()相等吗?我删除了Y,谢谢-这不相关。至于Agg是什么,我不确定-我以前从未见过它。这是对象显示的方式。可能是熊猫系列,但我不熟悉,因此有一个问题。这实际上是两个对象(x和Y)。Agg到底是什么?这与pandas.DataFrame()相等吗?我删除了Y,谢谢-它不相关。至于Agg是什么,我不确定-我以前从未见过它。这是对象的显示方式。可能是熊猫系列,但我不熟悉它,因此问题就来了。只是尝试过。返回
类型错误:“Agg”对象不可下标
再仔细查看一下,我不知道想象Agg是某种命名实体。我可以通过输入
x.df
强制x成为数据帧,但
x[0]。df
抛出一个
AttributeError:“super”对象没有属性“df”
。我刚刚意识到我可以通过
x[0]访问各个字段。avg
-查看您的响应。而不是
结果=[I['avg']对于x中的i]
,这非常有效:
result=[i.avg for i in x]
谢谢你的帮助太好了!如果问题得到解决,你能接受一些答案吗?谢谢-我想请你在第二个代码块答案中从括号编辑到.obj。我想我需要修改问题标题,因为Agg代表一个自定义对象,而不是元组。这就是为什么我们可以使用。句号!刚刚尝试过。返回
TypeError:“Agg”对象不可下标
再仔细研究一下,我认为Agg是某种命名实体。我可以通过输入
x.df
强制x成为数据帧,但
x[0].df
抛出一个
属性错误:“super”对象没有属性“df”
。我刚刚意识到我可以通过
x[0]访问各个字段。avg
-查看您的响应。这不是
结果=[I['avg']表示x中的I]
,而是非常有效的:
结果=[I.avg表示x中的I]
谢谢你的帮助太好了!如果问题得到解决,你能接受一些答案吗?谢谢-我想请你在第二个代码块答案中从括号编辑到.obj。我想我需要修改问题标题,因为Agg代表一个自定义对象,而不是元组。这就是为什么我们可以使用。时期