Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何从对象列表打印属性_Python_Python 3.x_Matplotlib - Fatal编程技术网

Python 如何从对象列表打印属性

Python 如何从对象列表打印属性,python,python-3.x,matplotlib,Python,Python 3.x,Matplotlib,我有一个属于类Config的对象列表,定义如下: 类配置: 定义初始值(自身、原子、pH、pOH、质子计数、共轭碱计数、时间步长、总能量、压力、温度、新生氧): 原子=原子 自身pH=pH self.pOH=pOH 自身质子计数=质子计数 自共轭基计数=共轭基计数 self.新生的氧=新生的氧 self.timestep=timestep self.totalEnergy=总能量 自我压力=压力 自身温度=温度 我想画出pH,pOH,质子计数,新生氧与时间步长的关系。一种方法是列出所有属性并执

我有一个属于类
Config
的对象列表,定义如下:

类配置:
定义初始值(自身、原子、pH、pOH、质子计数、共轭碱计数、时间步长、总能量、压力、温度、新生氧):
原子=原子
自身pH=pH
self.pOH=pOH
自身质子计数=质子计数
自共轭基计数=共轭基计数
self.新生的氧=新生的氧
self.timestep=timestep
self.totalEnergy=总能量
自我压力=压力
自身温度=温度
我想画出pH,pOH,质子计数,新生氧与时间步长的关系。一种方法是列出所有属性并执行以下操作:

list1=[x.pH代表配置中的x]
列表1=[x.pOH代表配置中的x]

在内存和减少硬编码方面是否有更有效的方法?减少代码量的最简单方法是将属性获取过程包装在函数中:

def get_attribute_值(对象列表,属性):
return[getattr(对象,属性)用于对象列表中的对象]
然后,在构建绘图时,可以在对象列表上循环以动态向其中添加数据:

导入matplotlib.pyplot作为plt
属性=['ph'、'pOH'、'质子计数'、'共轭碱计数'、'新生氧'、'总能量'、'压力'、'温度']
x_轴=获取_属性_值(配置“timestep”)
对于属性中的属性:
y轴=获取属性值(配置、属性)
plt.plot(x_轴,y_轴,label=attr)
plt.xlabel('timestep')
plt.ylabel('值')
plt.title(‘多线图’)
plt.legend()
plt.show()