反復(fù)する
反復(fù)とは何ですか?
たとえば、Java では、List コレクションの添え字を介して List コレクション內(nèi)の要素を走査しますが、Python では、リストまたはタプルが與えられた場合、for を介してリストまたはタプルを走査できます。ループタプルの場合、この種の走査は反復(fù)です。
しかし、Python の for ループは Java の for ループよりも抽象度が高いのですが、なぜそう言えるのでしょうか?なぜなら、Python の for ループはリストやタプルだけでなく、他の反復(fù)可能なオブジェクトにも使用できるからです。つまり、反復(fù)可能なオブジェクトであれば、添字の有無に関係なく反復(fù)できます。
例:
# -*- coding: UTF-8 -*- # 1、for 循環(huán)迭代字符串 for char in 'liangdianshui' : print ( char , end = ' ' ) print('\n') # 2、for 循環(huán)迭代 list list1 = [1,2,3,4,5] for num1 in list1 : print ( num1 , end = ' ' ) print('\n') # 3、for 循環(huán)也可以迭代 dict (字典) dict1 = {'name':'兩點水','age':'23','sex':'男'} for key in dict1 : # 迭代 dict 中的 key print ( key , end = ' ' ) print('\n') for value in dict1.values() : # 迭代 dict 中的 value print ( value , end = ' ' ) print ('\n') # 如果 list 里面一個元素有兩個變量,也是很容易迭代的 for x , y in [ (1,'a') , (2,'b') , (3,'c') ] : print ( x , y )
出力結(jié)果は次のとおりです:
l i a n g d i a n s h u i 1 2 3 4 5 name age sex 兩點水 23 男 1 a 2 b 3 c