前提
pythonで天気予報サイトの情報をスクレイピングで取得するプログラムを作成しています。
参考サイトを元に作成中ですが、「内包表記」について理解できず困っております。
内包表記について理解を深めたく、敢えて内包表記をしない場合のコードを自分で考えた際に、わからなくなりました。
該当のソースコードに、内包表記をした場合、内包表記をしない場合のコード(自分で考えた)を掲載します。
実現したいこと
該当ソースコードに記載されてる「内包表記済コード」を、「内包表記しない場合のコード」に書き換える時のコードを学びたいです。
該当のソースコード
Python
1#################内包表記済コード################################################ 2 soup = BeautifulSoup(r.text, "html.parser") 3 rs = soup.find(class_="入力値は消しました。") 4 rs = [i.strip() for i in rs.text.splitlines()]#1 5 rs = [i for i in rs if i != ""]#2 6################################################################################### 7#################内包表記しない場合を自分で考えたコード############################## 8#1を分解 9rs = [] 10for i in rs.text.splitelines(): 11 rs.append(i.strip()) 12#2を分解 13rs = [] 14for i in rs: 15 if(i != ""): 16 rs.append(i) 17################################################################################### 18######################内包表記について調べた時に学んだコード######################### 19#内包表記をする場合 20result= [i**2 for i in range(5)] 21print(result) 22# [0, 1, 4, 9, 16] 23 24#内包表記しない場合 25result= [] 26for i in range(5): 27 result.append(i**2) 28 29print(result) 30# [0, 1, 4, 9, 16]
試したこと
「#1を分解」「#2を分解」において、rs = []によってrsを空リストに定義している為、rs.text.splitlines()やrsを取得できない事は理解してます。
内包表記をする手順、内包表記をしない場合について調べた手順(「内包表記について調べた時に学んだコード」)に沿って書いた結果、該当のソースコードのようになり、作動しません。
「内包表記済コード」を、「内包表記しない場合のコード」に書き換える時のコードをご教示いただきたく存じます。
長文・駄文失礼しました。
分かりにくい質問文かと思いますが、お力添えいただきたく存じます。何卒よろしくお願いいたします。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/09/25 13:50
2022/09/25 22:49 編集
2022/09/25 23:03
2022/09/25 23:13
2022/09/26 11:59