Pythonの基本チュートリアル:Pythonのforループであれば使用するスキルを入れ子にし、elseステートメント

Pythonの糖衣構文は、forループでは、このようなPythonの使用にネストされたスキルifとelseステートメントとして、非常に強いです、いくつかの例の詳細な使用方法でレッツだけを見て、それを強制することです:
のために... [あれば] ...ビルドリスト(一覧内包)
のための... 1.シンプル[あれば] ...文の
Pythonで、... [もし] for文...新しいリストであれば与えられた選択された要素を満たす条件の一覧から、簡単な方法を構築するのリストここでそれを省略することができる場合。いくつかの簡単な例を説明する下記の

>>> a=[12, 3, 4, 6, 7, 13, 21]
>>> newList = [x for x in a]
>>> newList
[12, 3, 4, 6, 7, 13, 21]
>>> newList2 = [x for x in a if x%2==0]
>>> newList2
[12, 4, 6]

省略した場合の後、newListリストは、同じ要素とで構成しました。しかし、newListと異なる一覧。Bを実行=、bが異なるとnewListあります。満たすnewList2リストに選択されるの組成物から%2つの== 0の要素をxは。以下のために... [あれば] ...ステートメント使用されていない場合は、次の操作がnewList2を構築する必要があります。

>>> newList2=[]
>>> for x in a:
...  if x %2 == 0:
...    newList2.append(x)
>>> newList2
[12, 4, 6]

...文はそれほど冗長である[場合]明らかに、...のために使用します。

2.ネストされたため... [あれば] ...文
のためにネストされて... [あれば] ...声明を満たす条件であれば、新しいリスト一覧の複数から構成要素。ここにもいくつかの例。

>>>a=[12, 3, 4, 6, 7, 13, 21]
>>>b=['a', 'b', 'x']
>>>newList=[(x, y) for x in a for y in b]
>>>newList
[(12, 'a'), (12, 'b'), (12, 'x'), (3, 'a'), (3, 'b'), (3, 'x'), (4, 'a'), (4, 'b'), (4, 'x'), (6, 'a'), (6, 'b'), (6, 'x'), (7, 'a'), (7, 'b'), (7, 'x'), (13, 'a'), (13, 'b'), (13, 'x'), (21, 'a'), (21, 'b'), (21, 'x')]
>>>newList2=[(x, y) for x in a for y in b if x%2==0 and y<'x']
>>>newList2
[(12, 'a'), (12, 'b'), (4, 'a'), (4, 'b'), (6, 'a'), (6, 'b')]

声明にはかなり何よりものための...文と複数の文[あれば]のために...ネストされた最も外側のループです。

Pythonはelse節を十分に活用します
[のelif [他]]場合、我々は精通している必要がありので、コーディング日常の中に、分岐ステートメントは、一定の条件が満たされているかどうかに応じて、コードの実行ロジックの上に、多くの場合、いくつかのコントロールは非常に一般的です。else節で分岐文は他の条件が満たされていないときに実行され、分岐ステートメントは、私たちは、コードのロジックでより豊富であることを可能にする適切な使用。
(C#、Javaの、JS他のプログラミング言語に比べて、他の条件文を使用した場合、実行のデフォルトのパスを提供したものと同様の実質的に同一の分岐文で一般的なプログラミング言語で使用される他の句を使用しますなど)Pythonで、他にそこにループを使用し、しばらくして、いくつかの特別な使用法、などがあり、例外処理がexcept文のtryを使用して実行してもして我々のコードより簡潔にすることができます。

/ 1.フィットは、ループを使用しながら、
通常のサイクル(のような早期終了でノンリターンまたはブレークの場合)の端が、else節のロジックがに実行された場合、その後のループ文のelse節の後半で。例で見てみましょう:

def print_prime(n):
  for i in xrange(2, n):
    # found = True
    for j in xrange(2, i):
      if i % j == 0:
         # found = False 
        break
    else:
      print "{} it's a prime number".format(i)
    # if found:
         # print "{} it's a prime number".format(i)
print_prime(7)

結果:

2 it's a prime number
3 it's a prime number
5 it's a prime number

そうでない場合は、これを印刷し、裁判官の端部によってどのような場合には、番号が独自の整数よりも小さい横断するのに必要なプライムタイムであるかどうかを判断するために、満たす割り切れるを素数を印刷する簡単な例は、の他に祝福と素数、infoです、以上の擬似コードは、一般的であるように、良好な理解と比較決意の分割時のフラグ値を設定し、「自己表現」の論理等価の例整数が関数の最後に印刷するかどうかを次に判断フラグ値決意メッセージ素数、コード作品に「手続き」準備を行う方法のではないので、多くの簡潔な説明。
PS:私たちは例の効果の下で実行されている注釈付きのコードを比較することができます。

2.とエラー制御に使用してみてください除く
else文のブロックに、例外をスローせずにtryブロックが実行される例外処理ステートメントを、他の同様の使用法、。

def my_to_int(str_param):
  try:
    print int(str_param)
  except ValueError:
    print 'cannot convert {} to a integer'.format(str_param)
  else:
    print 'convert {} to integer successfully'.format(str_param)
my_to_int("123")
my_to_int("me123")

結果:

123
convert 123 to integer successfully
cannot convert me123 to a integer

実用化されている印刷ジャーナルとして、発生しなかったコンバージョン成功の間違った時間は、else文が論理で実行されますが、もちろん、この例はあまり何も持っていますが、エラーの治療に有用な他説明できなかったこと:エラーは、その後、格納されたデータを、他のブロックの動作をロールバックとも続く場合は、エラーが発生した場合などのいくつかの実際の動作を(行うために発生した場合、フラグ値のいくつかの使用を回避する簡略化ロジックは、正確に状況を把握することができるであろうプラスfinally文は、いくつかのクリーンアップ操作を完了します。
あなたは非常に読み感謝
の作業コンピュータの基本的な悪い損失を食べて、これは教育を受けていないことが判明し、自己のpython、選択した時間の大学を
行うことはできませんが、唯一補うために取得することができ、そうであなたは平凡に不本意であれば、それは外に成長している、コーディングの私と一緒で、彼自身常に整理Pythonのコア知識、基本的なコンピュータ学習の深い知識を、学習、道路を、カウンター攻撃開いたコーディング外!
実際には、それよりも技術的な、より技術的なものだけではなく罰金を作る方法を、例えば、そこにあります プログラマーは、むしろ「巨根ワイヤー」より、プログラマ自身が高貴な存在である、ああ、そうではありませんか?[参加するためにクリック]あなたが来る、高貴な人になりたいしたいです!

公開された14元の記事 ウォンの賞賛2 ビュー6670

おすすめ

転載: blog.csdn.net/chengxun03/article/details/105397907