gpt4 book ai didi

python - 绘制python对象属性和对象存储在列表中

转载 作者:太空狗 更新时间:2023-10-30 01:28:45 25 4
gpt4 key购买 nike

我在 python 中将对象存储在名为 lst 的列表中。我只需要绘制一个对象属性作为绘图。

import numpy as np
import matplotlib.pyplot as plt

class Particle(object):
def __init__(self, value = 0, weight = 0):
self.value = value
self.weight = weight
lst = []
for x in range(0,10):
lst.append(Particle(value=np.random.random_integers(10), weight = 1))

我试过这个并且它有效,但我认为它不是很“pythonic”的方式:

temp = [] #any better idea? 
for x in range(0,len(lst)):
temp.append(l[x].value)
plt.plot(temp, 'ro')

你有什么建议,如何以更 pythonic 的方式拆分它?谢谢

最佳答案

使用 list comprehension生成您的值(value)观列表。

import numpy as np
import matplotlib.pyplot as plt

class Particle(object):
def __init__(self, value = 0, weight = 0):
self.value = value
self.weight = weight
lst = []
for x in range(0,10):
lst.append(Particle(value=np.random.random_integers(10), weight = 1))

values = [x.value for x in lst]

plt.plot(values, 'ro')
plt.show()

enter image description here

列表理解等同于以下代码:

values = []
for x in lst:
values.append(x.value)

请注意,您还可以使用另一个列表理解来整理 lst 集合的创建

lst = [(Particle(value=np.random.random_integers(10), weight=1) for _ in range(10)]

关于python - 绘制python对象属性和对象存储在列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28476166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com