Pythonステップ05循環設計
3158 ワード
原文:
Pythonステップ05循環設計
作者:Vamei出典:http://www.cnblogs.com/vamei 転載を歓迎します.この声明も保留してください.ありがとうございます.
「循環」のセクションでは、Pythonの基本的な循環文法について議論しました.このセクションでは、より柔軟な循環方式に接触します.
レンゲ()
Pythonでは、forループ後のinがシーケンスに従うと、シーケンスの下付きではなく毎回使用されるシーケンス要素が循環します.
前に私達はすでにレンゲ()を使ってforサイクルを制御しました.現在、私達は引き続きレンゲの機能を開発して、下付きの対循環のコントロールを実現します.
enumerate()
enumerate()関数を利用して、各サイクルの中で同時に下付きと元素を得ることができます.
zip()
複数の等長シーケンスの場合、それぞれの循環時にそれぞれのシーケンスから要素を取り出すには、zip()を利用して簡単に実現できます.
zip()関数の機能は、複数のリストから順に要素を取り出します.取り出した(異なるリストからの)要素が一つのタプルを合成するたびに、統合されたタプルがzip()の返しリストに入ります.zip()関数は、集計リストの機能を果たしています.
統合されたリストを分解することができます.
締め括りをつける
レンゲ()
enumerate()
zip()
Pythonステップ05循環設計
作者:Vamei出典:http://www.cnblogs.com/vamei 転載を歓迎します.この声明も保留してください.ありがとうございます.
「循環」のセクションでは、Pythonの基本的な循環文法について議論しました.このセクションでは、より柔軟な循環方式に接触します.
レンゲ()
Pythonでは、forループ後のinがシーケンスに従うと、シーケンスの下付きではなく毎回使用されるシーケンス要素が循環します.
前に私達はすでにレンゲ()を使ってforサイクルを制御しました.現在、私達は引き続きレンゲの機能を開発して、下付きの対循環のコントロールを実現します.
S = 'abcdefghijk' for i in range(0,len(S),2): print S[i]
この例では、Sシーケンスの下付きとしてiを用いてループを制御するlen()関数とrange()関数を用いている.ランジュ関数では,上限,下限,および各サイクルのステップサイズをそれぞれ定義した.これはC言語のforサイクルと似ています.enumerate()
enumerate()関数を利用して、各サイクルの中で同時に下付きと元素を得ることができます.
S = 'abcdefghijk'
for (index,char) in enumerate(S): print index print char
実際には、enumerate()は各サイクルにおいて、返ってくるのは2つの要素を含む定値テーブルであり、2つの要素はそれぞれindexとcharに与えられる.zip()
複数の等長シーケンスの場合、それぞれの循環時にそれぞれのシーケンスから要素を取り出すには、zip()を利用して簡単に実現できます.
ta = [1,2,3] tb = [9,8,7] tc = ['a','b','c'] for (a,b,c) in zip(ta,tb,tc): print(a,b,c)
ループのたびに、各シーケンスから左から右に要素を取り出し、一つのtupleに統合して、tupleの要素をa、b、cに与えます.zip()関数の機能は、複数のリストから順に要素を取り出します.取り出した(異なるリストからの)要素が一つのタプルを合成するたびに、統合されたタプルがzip()の返しリストに入ります.zip()関数は、集計リストの機能を果たしています.
統合されたリストを分解することができます.
ta = [1,2,3]
tb = [9,8,7]
# cluster
zipped = zip(ta,tb)
print(zipped)
# decompose
na, nb = zip(*zipped)
print(na, nb)
締め括りをつける
レンゲ()
enumerate()
zip()