Список выводиться в одну строчку python

Рейтинг: 0Ответов: 1Опубликовано: 03.07.2023

Изучая библиотеку bs4, я пыталась спарсить недостатки и сам отзыв, где их описывают пользователи. Получился такой код:


minus = soap.find_all("div", class_="review-minus")
review = soap.find_all("div", class_="review-teaser")

for item in minus:
    m = item.text

for i in review:
    r = i.text

print(f"{m}: {r}")

И он выводит список в одну строчкку, я пыталась разделить его так (https://ru.stackoverflow.com/a/251051/558317):

print("\n".join(f"{m}: {r}"))

но это привело к тому, что код выводит каждую букву из списка на отдельной строке. Возможно ли вывести спарсенные данные, например, так: Недостаток: сам отзыв...?

Ответы

▲ 1

Спустя около часа я поняла в чем проблема и оставлю ответ тут, вдруг кому-то поможет. find_all итак сама по себе генерирует список, поэтому все циклы, которые я создавала бесполезны и делают список внутри списка.

Теперь мой код выглядит так:

minus = soap.find_all("div", class_="review-minus")
review = soap.find_all("div", class_="review-teaser")

done = {}

for d in range(0,len(minus)):
    done[minus[d]] = review[d]
# print(done) - это я проверяла как выводиться словарь

for key, value in done.items():
    print(key.text, ":", value.text)

В итоге я получаю:

все нормально : Специально искала кроватку из экологичных материалов и покрашенную краской на водной основе. И эта как раз меня устроила по всем параметрам) Есть маятниковый механизм, который помогает мне уложить ребенка. Сразу засыпает) И маятник можно спокойно...

не замечено : Выбирали между тремя вариантами, в итоге остановились на этом и пока еще ни разу не пожалели. Во-первых, здесь все очень толково и грамотно продумано, включая в том числе съемные боковые рейки и одну из стенок...