Может ли кто-нибудь помочь мне понять этот фрагмент кода из документации beautifulsoup3? В частности, я не понимаю эту часть в квадратных скобках. Код из этого URL: http://www.crummy.com/software/BeautifulSoup/bs3/documentation.html Я не понимаю квадратные скобки, потому что я думал, что квадратные скобки предназначены для составления списков, создает ли его содержимое список? Кроме того, он, похоже, не присваивает список никому. Какова цель создания квадратных скобок и не присваивания им чего-либо? Кроме того, я не понимаю этот компонент: text=lambda text:isinstance(text, Comment)
, но я думаю, что смогу понять эту часть самостоятельно.Можете ли вы объяснить использование питона квадратными скобками?
from BeautifulSoup import BeautifulSoup, Comment
soup = BeautifulSoup("""1<!--The loneliest number-->
<a>2<!--Can be as bad as one--><b>3""")
comments = soup.findAll(text=lambda text:isinstance(text, Comment))
[comment.extract() for comment in comments]
print soup
# 1
# <a>2<b>3</b></a>
Хорошо, так что это для понимания списка, так что список делается? Но не используется? Зачем они это делают? Кроме того, когда и почему вы ставите что-либо перед словом «за»? как они там. Обычно я вижу «для» в начале, ничего не до него. Кроме того, благодарю вас за отличное объяснение функции лямбды, я знал, что это сделало какую-то мини-функцию, но я еще не был знаком с ней, это помогло понять, как вы переписали ее как обычную функцию.
Линия с квадратными скобками - это [понимание списка] (https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions) – Marius
oh weird, я просто попробовал это: '[print («stuff») для x в диапазоне (0,10)] ', и это сработало, поэтому« побочный эффект »квадратных скобок для определения списка состоит в том, что вы можете сделать одну строку для циклов? – jelijelidjango