如何更新列表中的类的实例

时间:2019-08-28 20:39:41

标签: python list-comprehension

假设我有一堆以下类的实例:

class Test:

    def __init__(self):
        self.x = 1

tests = [Test() for _ in range(10)]

现在,假设我要将每个实例的x更新为range(10)。这样做的一种好方法是什么?

最直接的方法是:

for t, val in zip(tests,range(10)):
    t.x = val

可以通过列表理解吗?

[z[0].x = z[1] for z in zip(tests, range(10))]

给出一个错误。我猜你可以在函数中添加一个setter方法并调用它?

class Test:

    def __init__(self):
        self.x = 1

    def setter(self, val):
        self.x = val

tests = [Test() for _ in range(10)]

[z[0].setter(z[1]) for z in zip(tests, range(10)]

for循环看起来越来越好。那是路要走吗?

0 个答案:

没有答案