首页 > 解决方案 > Python中是否有任何直接函数可以从对象向量中获取某个属性的向量?

问题描述

我是 Python 编程的新手,我还没有找到合适的直接方法来完成以下任务:

我有一个名为“INDIVIDUAL”的类,它有两个属性,“Genome”和“Fitness”。我有一个向量“Population”,它存储了“INDIVIDUAL”类中的数百个对象。我想获得一个新的向量“ANS”,它存储来自向量“Population”的所有对象的所有属性“Genome”。我知道它可以通过实现循环来完成,但我想知道是否有一种直接的方法(一种简单的方法,可能只是在 1 行中,没有循环)来做到这一点。我的代码放在下面:

class INDIVIDUAL:
    def __init__(self, Genome, Fitness):
        self.Genome=Genome
        self.Fitness=Fitness

NInd=500
Population=[None]*NInd
for i in range(NInd):
    Population[i]=INDIVIDUAL(random.choices([0,1],k=10),random.choices([0,1],k=1))

ANS=**Help!**

哪个是完成我任务的“直接方式”?

提前致谢。

标签: pythonclassattributes

解决方案


如果您仍在寻找pythonic方式,那么我建议使用列表理解

NInd = 500
Population = [
    INDIVIDUAL(random.choices([0, 1], k=10), random.choices([0,1], k=1))
    for _ in range(NInd)
]

PS:如果您是 Python 新手,请查看PEP 8从一开始就掌握最佳实践。


推荐阅读