gpt4 book ai didi

python - 在 Python 中迭代列表并向对象添加属性

转载 作者:行者123 更新时间:2023-12-01 05:13:27 25 4
gpt4 key购买 nike

这就是我想要的。

def add_things_to_x(x,list_of_things):
for item in list_of_things:
x.item = item
return x

我该怎么做?

因为这看起来很难做到,我猜可能有更好的方法和不这样做的理由?

我如何使用此类函数的示例。

average_height = 10
std_height = 3

x = load_data()

x = add_things_to_x(x,[average_height,std_height])

x.save_data()

这样以后如果我 pickle.load(x) 我可以调用 x.std_height 和 x.average_height

最佳答案

使用 setattr 来做这样的事情:

for k, v in {'average_height': 10, 'std_height': 3}:
setattr(x, k, v)

最后,您已将 x.item 设置为不同的值,最终仅使用最后一个值。这避免了这个问题,因为属性的名称是作为字符串参数发送的。

关于python - 在 Python 中迭代列表并向对象添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23700912/

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