2013-08-18 2 views
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) 
나는 이것에 대해 이동하고 첫 번째와 마지막 객체 사이의 차이 생성을 알게 될 것입니다 방법

?

답변

0

이러한 개체로 무엇을 할 예정입니까? for 루프를 사용하여 임의의 양을 생성하려는 경우 수행중인 작업을 수행하십시오. 당신이 list에 넣어 원하는처럼하지만, 나에게 보이는 : 또는

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

당신이 사용할 수하는 list comprehension : 당신이 객체를 추적하는 배열을 사용할 수

mylist = [Item(1,2,3) for i in range(random_number)] 
+0

나는 개체가 사람을 나타내는 게임에서 개체를 사용하고 있습니다. 조건이 충족되면 게임에 구현 된 개체가 더 많아 지므로 100 개 이상의 개체가 생성 될 수 있습니다. – user2694229

1

개체를 목록에 저장할 수 있습니다. 그런 다음 색인을 사용하여 첫 번째 항목과 마지막 항목을 참조 할 수 있습니다.

items = [Item(1,2,3) for x in range(random_number)] 
first = items[0] 
last = items[-1] 
+1

'first, * rest, last = items' - 파이썬 3 IMO의 경우 언팩은 인덱스 기반의 geting보다 멋지다. –

0

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

만든 첫 번째 목적은 object_list[0] 될 마지막은 object_list[-1]

일 것입니다
관련 문제