コンピューター

Pythonでコンストラクトをループする

著者: Peter Berry
作成日: 19 J 2021
更新日: 10 5月 2024
Anonim
Pythonでキーワード検索した結果ページのデータ取得する方法|PythonでWebスクレイピング第03回
ビデオ: Pythonでキーワード検索した結果ページのデータ取得する方法|PythonでWebスクレイピング第03回

コンテンツ

私はデータ分析と統計に大きな関心を持っているソフトウェア開発者です。

任意のプログラミング言語のループ構造を使用して、一連のステップを指定された回数だけ繰り返し実行します。 Pythonでは、forループとwhileループの2種類のループを使用できます。別のループにループを追加して、Pythonでネストされたループを作成することもできます。

Forループ

繰り返しながら タプルまたはリスト、インデックスを使用して、C / C ++で見られるものと同様の従来のforループを作成するか、Javaで見られるものと同様のfor-each-sequenceループを作成することができます。 forループについてもっと学びましょう。

シーケンスのビルディングブロックを反復処理する

#!/ usr / bin / python3 print( "各行に文字列の文字を出力しています...")for cur in'Hello World! ':print(cur)rhymes = [' Mary '、' Had '、' A ' 、 'Little'、 'Lamb'] print( "各行の韻の単語を印刷しています...")韻の単語の場合:print(word)print( "...最後に到達しました...")

最初のforループでは、文字列「HelloWorld!」シーケンスを取得し、反復を使用して反復します。 変数。一般に、このタイプのforループの構文は次のように表すことができます。


for iter_var in sequence:#forループ内のステップ。

最初の2つのforループは、文字列内の文字とフレーズを表すリスト内の単語が、シーケンスの個々の構成要素としてどのように扱われるかを示しています。

上記のプログラムの出力は次のようになります。

各行に文字列の文字を印刷しています...

H

e

l

l

o

W

o

r

l

d

!

各行の韻に単語を印刷しています...

メアリー

持っていました

A

リトル

子羊...終わりに達した...

このタイプのforループは、タプルまたは辞書の場合にも適用できます。以下のコードは、キーまたはキーと値のペアをシーケンスの構成要素と見なして、辞書を反復処理する方法を示しています。

#!/ usr / bin / python3 print( "Iterating over a dictionary")studentDict = {'firstName': 'john'、 'lastName': 'Smith'、 'age':29、 'studentId':415312} print( "forループでキーのみを使用して反復する")for key in studentDict:print( "key:"、key、 "、value:"、studentDict [key])print( "Iterating using key and value")for foo、bar StudentDict.items():print( "key:"、foo、 "、value:"、bar)print( "...最後に到達しました...")

最初のforループでは、キーのみを使用して辞書を反復処理します。 2番目のforループでは、キーと値の両方が反復変数として使用され、「studentDict」という名前のディクショナリ内の項目を反復処理します。 forループで常に「key」と「value」として名前を指定する必要はないことに注意してください。これを示すために、fooとbarを使用しました。


上記のコードの出力は次のようになります。

辞書を反復処理する

forループでキーのみを使用して反復する

キー:firstName、値:john

キー:studentId、値:415312

キー:lastName、値:Smith

キー:年齢、値:29

キーと値を使用して反復する

キー:firstName、値:john

キー:studentId、値:415312

キー:lastName、値:Smith

キー:年齢、値:29

...終わりに達しました...

インデックスと範囲を使用してシーケンスを反復処理

これは、C / C ++ / Javaなどの言語で見られるforループに似ています。特定のシーケンスの要素はインデックスを使用してアクセスされます。

range()関数は、下限としてゼロから始まり、上限のパラメーターとして指定された値までの値の範囲を返すために使用されます。下限と上限に言及することでサブレンジを取得することができます。

たとえば、range(2,6)は2、3、4、5を返しますが、range(3)は0、1、2を返します。次のコードでは、range(len(rhymes))を使用して、Pythonに反復処理を指示します。韻[長さ– 1]まで0、1、2を配置し、値を出力します。


#!/ usr / bin / python3 rhymes = ['Mary'、 'Had'、 'A'、 'Little'、 'Lamb'] print( "インデックスによってアクセスされる新しい行に各単語を出力します。")for index in range (len(rhymes)):print(rhymes [index])

上記のコードの出力は次のようになります。

インデックスによってアクセスされる新しい行に各単語を印刷します。

メアリー

持っていました

A

リトル

子羊

Whileループ

whileループの一般的な構文は、次のように表すことができます。

while条件:#これらの手順を実行します

条件が当てはまる限り、ステップを繰り返し実行します。したがって、無限ループは、C / C ++ / Javaで次のコマンドを使用して作成するのと同じように、このwhileループを使用して簡単に記述できます。

test = 1 while test == 1:#これらのステップを無限に実行する

次のプログラムでは、単純なwhileループを使用して11から20までの数値を出力します。

#!/ usr / bin / python3 print( "Counting from 11 to 20")count = 11 while count = 20:print(count)count = count + 1

上記のプログラムの出力は次のようになります。

11から20まで数える

11

12

13

14

15

16

17

18

19

20

ネストされたループ

ループを別のループ内にネストすることができます。次のサンプルプログラムについて考えてみます。これは、次の方法で数値ピラミッドを印刷するように設計されています。

1

1 2

1 2 3

1 23…n

#!/ usr / bin / python3#次のような数値ピラミッドを出力するプログラム:for i in range(1,6):for j in range(1、i + 1):print(j、end = "")print( "")

最初のforループでは、範囲の下限を1に、上限を5 +1に指定します。 2番目のループでは、各行に1からi +1までの範囲を指定します。 printステートメントにはend =”“という名前のパラメーターがあることに注意してください。

これは、同じ行にさらに出力を印刷するようにインタプリタに指示するためのものであり、これらの出力はすべて、示されている特殊文字を使用して分離する必要があります。ステートメントがprint(j、end =’, ’)、すべての数字の末尾にコンマが付きます。上記のプログラムの出力は次のようになります。

1

1 2

1 2 3

1 2 3 4

1 2 3 4 5

ループ制御ステートメント

Pythonは、次の3つの制御ステートメントを提供します。

  • ブレークステートメント: ループステートメントを終了し、スコープ外の制御をループに続く次のステートメントに移します。
  • ステートメントを続ける: これにより、ループはループの残りのステップをスキップしますが、次の反復を続行します。
  • パスステートメント: 多くの場合、コードのデバッグに役立ちます。ステートメントが実行されても、実際には何も起こりません。

例を使用して、これらのステートメントについて詳しく見ていきましょう。

#!/ usr / bin / python3 print( 'Welcome'に文字を印刷する 'Welcome'の文字:if letter == 'l':break print(letter、end = "、")print( "" )print( 'lを省略した後のウェルカムレターの印刷') 'Welcome'のレター:if letter == 'l':続行print(letter、end = "、")print( "")print( "パスブロックの追加'Welcome'の文字のlに遭遇したとき "):if letter == 'l':pass print(" ")print(" Encountered pass block ")print(" Continue Printing ")print(letter、end ="、 ")

上記のコードの出力は次のようになります。

ウェルカムで文字lまで文字を印刷する

我々、

lを省略した後の歓迎の手紙の印刷

私たちは来る、

lが検出されたときにパスブロックを追加する

我々、

遭遇したパスブロック

印刷を続ける

l、c、o、m、e、

ソビエト

私たちの選択

携帯電話の火災:次の事故を防ぐ方法
電話

携帯電話の火災:次の事故を防ぐ方法

ila は、危険およびリスクの軽減戦略に関与する安全検査官です。彼は安全科学の修士号とMBAの学位を取得しています。携帯電話の火災、機内での熱暴走、自宅での充電中に発火することについて聞くことは、考えられないことです。リチウムイオン電池は、携帯電話通信、電気自動車、ボーイング787などの航空機ジェット機などの技術を可能にするエネルギー貯蔵の重要な未来を提示します。リチウムイオン電池はいくつかの業...
iPhoneおよびiPodTouch用の10個の無料加速度計アプリ
電話

iPhoneおよびiPodTouch用の10個の無料加速度計アプリ

iPhone、iPad、Androidのタブレットと電話は、インテリジェントなハンドヘルドデバイスとのインターフェース方法に革命をもたらしました。タッチセンシティブスクリーンと内蔵の加速度計により、従来のボタン、パドル、マウス、キーボードを大幅に省くことができます。この記事では、加速度計と、このセンサーをさまざまな方法で活用する新しい新しいアプリがどのように登場し続けているかについて説明します。こ...