@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


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

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

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

Войти через центр авторизации
Похожие вопросы
от 140 000 до 180 000 руб.
IT ATLAS Казань
от 120 000 до 150 000 руб.
Mtrading Санкт-Петербург
от 2 000 до 3 000 usd.