当前位置: 首页 > 面试题库 >

从python中的对象列表中提取属性列表

古文康
2023-03-14
问题内容

我在python中有一个 统一 的对象列表:

class myClass(object):
    def __init__(self, attr):
        self.attr = attr
        self.other = None

objs = [myClass (i) for i in range(10)]

现在,我想提取一个具有该类某些属性的列表(比如attr),以便将其传递给某个函数(例如用于绘制该数据)

pythonic的做法是什么,

attr=[o.attr for o in objsm]

也许派生列表并添加一个方法,所以我可以使用一些习惯用法,例如

objs.getattribute("attr")


问题答案:

您还可以编写:

attr=(o.attr for o in objsm)

这样,您将获得一个节省内存的生成器。有关更多好处,请参见Generator
Expressions



 类似资料:
  • 问题内容: 我有一个对象列表。对象具有3个字符串属性。我想制作一个仅包含类中特定属性的列表。 有内置的功能可以做到这一点吗? 问题答案: 列表理解会很好地工作: 但是,由于您要求:-),所以有内置功能的组合。

  • 问题内容: 当存在时,是否有可能获得全部列表?是否为此准备了电话,还是我必须编写一个foreach循环,如: 问题答案: Java 8及更高版本: 如果需要确保得到结果,则必须将最后一行更改为: Java 7及以下版本: Java 8之前的标准集合API不支持这种转换。您必须编写一个循环(或将其包装在您自己的“地图”函数中),除非您使用一些更高级的集合API /扩展。 (您的Java代码段中的行正

  • 我有一个充满行的文件,其中每一行都有银行账户对象的属性。文件布局示例: 1, IE33483, alex,1,100,20, s 2,IE30983,乔,1,0,20,c 3,IE67983,汤姆,1,70,20,s 我试图创建一些代码,将搜索这个文件的用户输入(例如,他们输入他们的id,这是每行的第一个元素),并将使用这3个属性来创建一个对象。有什么帮助吗?这是我到目前为止所尝试的,但它似乎不适

  • 我正在尝试过滤scala中对象列表的列表属性。例如: 用java定义的类 我的过滤器函数返回字符串列表而不是结果列表 UPDATE我想取回listOf中的所有结果,其中每个结果的名称属性被过滤。

  • 我有一个对象列表(文件夹)。该列表中的每个对象A都有一个对象B(合作伙伴)列表,对象B也有一个对象C(人员)列表。对象C包含一个属性代码,我想用它来使用Java8进行过滤。 我试过下面的代码,但它似乎不工作: 你们知道我如何使用FlatMap从

  • 我有一个字符串类型的列,其中包含嵌套字典对象的元素列表。例如 这实际上是火花数据帧中的一列,它是字符串类型的。所以我想知道如何将字符串的内容转换为列表,以便我可以使用json.loads.转换列表中的每个元素 知道吗?