Top.Mail.Ru
Ответы
Аватар пользователя
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Python. Помогите пожалуйста

Нужно отфильтровать список продуктов по длине названия товара (где длина названия больше пяти) и вывести названия продуктов получившегося списка на экран.

1234567891011121314151617
 class Products: 
    def __init__(self,id:int, category:str, name:str, price:int, quality:str, weight:int, TYPE:str): 
        self.id = id 
        self.category = category 
        self.name = name 
        self.price = price 
        self.quality = quality 
        self.weight = weight 
        self.TYPE = TYPE 
 
    def __str__(self): 
        return f'Уникальный идентификатор продукта: {self.id}; Название категории продукта: {self.category}; Название товара: {self.name}; Качество товара: {self.price}; Цена товара: {self.quality} рублей; Вес товара:{self.weight}г; Тип товара:{self.TYPE}.' 
 
PEDIGREE = Products(101001, "сухой корм" , 'Pedigree',  "Эконом", 2986 ,13000," для собак старше 1 года") 
WHISKAS = Products(101002, "мокрый корм" , 'Whiskas',  "Эконом", 34 , 75," для кошек от 1 до 12 месяцев") 
HILLS = Products(101003, "корм-паштет" , 'Hills',  "премиум", 135 ,82," для кошек старше 1 года") 
NESTLE = Products(101022, "сухой корм " , 'Nestle Purina',  "супер-премиум", 1585 , 1500," для кошек старше 1 года") 
По дате
По рейтингу
Аватар пользователя
Мыслитель
12
 x = [i.name for i in [PEDIGREE, WHISKAS, HILLS, NESTLE] if len(i.name) > 5]
print(x)