Работа со списком экземпляров класса по определенным атрибутам
Пусть есть класс People, объекты которого будут иметь 7 атрибутов:
people=list()
class People:
def ___init___ (self,c,d,g,h,s,u,y):
self.c=c
self.d=d
self.g=g
self.h=h
self.s=s
self.u=u
self.y=y
Создаю список одинаковых объектов одного типа:
for i in range(40):
obj=People (0,1,1,1,1,1,1)
people.append(obj)
и другого типа:
for j in range(30):
obj = People (0,0,0,1,1,0,1)
people.append(obj)
Теперь мне нужно сделать цикл for, в котором нужно перебрать все элементы списка, и если у них аргумент с=0, то записать количество таких элементов в переменную w.
Ответы (1 шт):
Автор решения: splash58
→ Ссылка
У вас в коде некоторое кол-во ошибок, например у init должно быть два подчеркивания, и создание объекта должно делаться иначе - я привел два варианта
people=list()
class People:
def __init__ (self,c,d,g,h,s,u,y):
self.c=c
self.d=d
self.g=g
self.h=h
self.s=s
self.u=u
self.y=y
for i in range(40):
a = People(0,1,1,1,1,1,1)
people.append(a)
for j in range(30):
people.append(People(0,0,0,1,1,0,1))
print(sum(o.c == 0 for o in people))
# 70