Почему я получаю отпечаток, полный «Нет»?

Я очищаю сайт, где у меня есть список абзацев внутри класса. когда я печатаю только текст внутри абзацев, все в порядке. Но если я хочу сохранить их в список, я получаю None.

Чтобы просмотреть все эти абзацы, я использую метод find_all с циклом. Как я могу получить реальный текст, строку и сохранить ее в списке.

listagoala = []

col_moneda = container_fluid.find('div', class_='col-sm-2 hidden-xs')

moneda = col_moneda.find_all('p')

for paragraphs in moneda:
    listaplina = listagoala.append(paragraphs.text)
    print(listaplina)

ВЫХОД:

None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
None
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
0
53
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Примечание для читателя: этот ответ относится к исходной версии вопроса, в которой была следующая строка: listaplina = [paragraphs.text].extend(listagoala).

list.extend() не возвращает измененный список. Он возвращает None (изменив список на месте).

Похоже, вы ищете следующее:

listaplina = [paragraphs.text] + listagoala

Извините, это была еще одна попытка, но я попробую ваш код, спасибо!

mihai 08.07.2019 19:56

@mihai: Пожалуйста, не меняйте свой вопрос. Это делает ответы недействительными и наказывает тех, кто пытается вам помочь.

NPE 08.07.2019 19:59

Выход почти хороший. Но в результате получается 16 списков, в каждом из которых всего 1 элемент. Я хотел бы сохранить тему в один список.

mihai 08.07.2019 20:00
Ответ принят как подходящий

почему бы просто не сделать

listagoala = []

col_moneda = container_fluid.find('div', class_='col-sm-2 hidden-xs')

moneda = col_moneda.find_all('p')

for paragraphs in moneda:
    listagoala.append(paragraphs.text)
    print(listagoala) # Using print here will print multiple lists, as this is inside loop

print(listagoala) # print the final list with all elements

Вам не нужно делать

listaplina = listagoala.append(paragraphs.text)

listagoala.append(paragraphs.text) будет работать.


Просто для вашего объяснения:

>>> a = [1,2,3,4]
>>> b = [5,6,7,8]
>>> a.extend(b)
>>> a
[1, 2, 3, 4, 5, 6, 7, 8]
>>>

мой окончательный список должен состоять из 16 элементов. Вывод состоит из 16 списков, где первый список имеет 1 элемент, второй - 2 элемента ... 16-й имеет 16 элементов, поэтому это не лучший результат. я не очень хорошо знаком со структурами данных... извините за эти глупые вопросы.

mihai 08.07.2019 20:13

Не совсем понял, что вы имеете в виду здесь. Вы сказали, что на выходе получается 16 разных списков?

xxbinxx 08.07.2019 20:20

да, у меня должен быть список из 16 элементов. но у меня есть 16 списков. Первый список имеет 1 элемент, второй список имеет 2 элемента.... до 16-го списка, который имеет 16 элементов...

mihai 08.07.2019 20:25

поэтому из этого вывода мне понадобится только последний список, состоящий из 16 элементов.

mihai 08.07.2019 20:26

@mihai IDK, почему вы получаете 16 разных списков, не могли бы вы опубликовать полный код, пожалуйста. Возможно, вы делаете что-то еще не так

xxbinxx 09.07.2019 06:53

ты прав, я тупой. Отступ был плохой. оператор печати должен иметь отступ того же уровня, что и оператор for.

mihai 09.07.2019 10:33

@mihai Я также добавил комментарии для печати. Обновил ответ.

xxbinxx 09.07.2019 11:49

Другие вопросы по теме