@inthevaldis

Как создать массив из экземпляров класса и получить значения их свойств при переборе этого массива, python?

Нигде в интернете не смог найти ответ на этот вопрос.
Я создал класс:
class Agent:
    xPos = random.randint(0,512 - 32)
    yPos = random.randint(0,512 - 32)

Agents = [Agent() for i in range(32)]

и при переборе массива вот так:
for i in Agents:
        print(Agents[i])

Выдает ошибку:
Traceback (most recent call last):
  File "C:\Users\werbo\eclipse-workspace\Pythom\src\Game.py", line 56, in <module>
    print(Agents[i])
TypeError: list indices must be integers or slices, not Agent

К тому же, я хочу в дальнейшем использовать переменные из этого класса, например:
for i in Agents:
        print(Agents[i].xPos)

Но он выдает ошибку:
TypeError: list indices must be integers or slices, not Agent


Спасибо за помощь!
  • Вопрос задан
  • 107 просмотров
Решения вопроса 2
0xD34F
@0xD34F
Что за дурная привычка бросаться писать, даже не ознакомившись с основами? Тут вам не js, i - это не индекс, а элемент списка. Так и пишите: print(i), print(i.xPos).
Ответ написан
Dnebl
@Dnebl
Нигде в интернете не смог найти ответ на этот вопрос.

А зачем искать ответ в инете если вам его сам python написал)
TypeError: list indices must be integers or slices, not Agent
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы