Как сделать цикл склейки имени и числа?

Есть два списка prod_name = [ ] и price = [ ]. В первый летит такое:

(item['title'],domen+item['href'])

В список прилетает такое значение: Объявление «Playstation 4 Pro 1Tb (магазин, гарантия)» 3 фотографии, ссылка, а во вторую летит ценник - допустим, 1000. Хочу сделать цикл склейки prod_name и price по индексу, то есть, примерно так:

print(prod_name[conut]+price[count])

, где count - переменная со значением 0 по стандарту, но в последствии count увеличивается на 1 путём count =+ 1.


Ответы (2 шт):

Автор решения: Алексей Белкин

Создайте список словарей. Каждый элемент словаря в списке - это какое-то объявление. А внутри словаря сделайте ключи и значения. Потом обращайтесь по ним. Примерно так:

lst_tovar = []
lst_img = ['foto1.jpg', 'foto2.jpg']
data_tovar = {
   'price': 100,
    'name': 'Playstation 4 Pro 1Tb (магазин, гарантия)',
    'lst_img': lst_img,
}
lst_tovar.append(data_tovar)

Ну можно, конечно на прямую добавлять - без data_tovar, но это на Ваше усмотрение.

Но по мне лучше так:

class Tovar():
    def __init__(self, price, name, lst_img_name):
        self.price = price
        self.name = name
        self.lst_img_name = lst_img_name
    def print_tovar_cena(self):
        print(f'Товар{self.name} \n Цена:{self.price}')


lst_objTovar = []
lst_img = ['foto1.jpg', 'foto2.jpg']
lst_objTovar.append(Tovar(price=100,
                      name='Playstation 4 Pro 1Tb (магазин, гарантия)',
                      lst_img_name=lst_img))

for tovar in lst_objTovar:
    tovar.print_tovar_cena()

А если хотите чтоб ID Вашего товара был:

for id, tovar in enumerate(lst_objTovar):
    print('id:', id)
    tovar.print_tovar_cena()
→ Ссылка
Автор решения: CrazyElf

В питоне "склейка" двух списков одинаковой длины делается через zip:

for prod_item, price_item in zip(prod_name, price):
    print(prod_item, price_item)

Если счётчик зачем-то всё же нужен ещё, то оборачиваете zip дополнительно в enumerate. А так параллельный перебор делается без счётчика.

→ Ссылка