gpt4 book ai didi

python - 将属性列表插入python中的对象列表

转载 作者:太空宇宙 更新时间:2023-11-04 10:45:45 26 4
gpt4 key购买 nike

如何将包含属性值的列表(或 numpy 数组)插入对象列表(如下所示)?

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

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

attrs = [o.attr for o in objs]
print attrs
#[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

[o.attr for o in objs] = range(10)
#SyntaxError: can't assign to list comprehension

这是Extract list of attributes from list of objects in python的逆问题.

最佳答案

我会做这样的事情:

for i, o in enumerate(objs):
o.attr = i

enumerate(objs) 有点像 zip(range(len(objs)), objs),所以如果你真的想从另一个序列中获取值,您可以:

for i, o in zip(sequence, objs):
o.attr = i

为了提高效率,您也可以在那里使用 itertools.izip。

关于python - 将属性列表插入python中的对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17468108/

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