0

是否有正确的方法来循环一个 for 循环并创建多个对象,但不知道它循环了多少次?根据我的研究,我可以遍历预先确定的字符串列表并从中创建对象,但是如果我没有预先确定的数字要遍历怎么办。

class Item(object):
    def __init__(self, x, y, z):
        self.x
        self.y
        self.z

for x in range(random_number):
    x = Item(1,2,3)

我将如何解决这个问题,并知道创建的第一个和最后一个对象之间的区别?

4

3 回答 3

1

您可以将对象存储在列表中。然后您可以使用索引引用第一个和最后一个项目。

items = [Item(1,2,3) for x in range(random_number)]
first = items[0]
last = items[-1]
于 2013-08-18T16:40:26.357 回答
0

你打算如何处理这些对象?如果您只想使用 for 循环创建随机数量,请执行您正在执行的操作。但是,在我看来,您想将它们放入列表中

mylist = []
for i in range(random_number):
    mylist.append(Item(1,2,3))

或者,您可以使用列表推导

mylist = [Item(1,2,3) for i in range(random_number)]
于 2013-08-18T16:43:07.810 回答
0

您可以使用数组来跟踪创建的对象

object_list = []
for x in range(random_number):
    object_list.append(Item(1, 2, 3))

创建的第一个对象是object_list[0],最后一个对象是object_list[-1]

于 2013-08-18T16:43:16.813 回答