@webdefvika
SMM специалист

Как можно в Python создать динамический массив где каждый элемент будет объектом?

Подскажите как можно в Python создать динамический массив каждый элемент которого будет объектом? Я не сильна в Python, я верстаю, иногда пишу код на PHP и JS поэтому прошу не придираться строго к терминам )))

Требуется создать массив colors (цвета) и в нем объекты (конкретный цвет) У каждого из объектов есть параметры: путь к картинке и заголовок. Если написать на JS то будет массив объектов такого вида:
let colors = [
    { 
     	src: "/assets/images/colors/Черный-id-457720.jpg", 
     	title: "Черный"
    },

    { 
     	src: "/assets/images/colors/Бордовый-id-457727.jpg", 
     	title: "Бордовый"
    }
]


Массив объектов нужен для того чтобы создать JSON строку и записать ее в CSV файл. Массив я формирую на основе парсинга html страницы, использую для этого скрипт на Python библиотеке BeautifulSoup

Код на Python где я читаю html страницу и получаю нужные данные:
# цвета SKU из html блоков
colors_html = soup.find(id='colors-modal').find(class_='colbasablbll').find(class_='selectcolorimi').find_all(class_='colorikki')

# обхожу html блоки и получаю параметры для объекта (путь к картинке и заголовок)
  for item_html in colors_html:
        title = item_html.find('div').find('span').find('img').get('title')      
        src =  item_html.find('div').find('span').find('img').get('src')

Как создать пустой массив, который я буду в цикле for заполнять объектами?
  • Вопрос задан
  • 779 просмотров
Решения вопроса 1
yupiter7575
@yupiter7575
Python программист
mainArr = []
for item_html in colors_html:
      title = item_html.find('div').find('span').find('img').get('title')      
      src =  item_html.find('div').find('span').find('img').get('src')
      dic = {'title':title, 'src':src}
      mainArr.append(dic)

Так?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 23:03
1 руб./за проект
23 нояб. 2024, в 22:38
2500 руб./за проект
23 нояб. 2024, в 22:03
3000 руб./за проект