反復する
反復とは何ですか?
たとえば、Java では、List コレクションの添え字を介して List コレクション内の要素を走査しますが、Python では、リストまたはタプルが与えられた場合、for を介してリストまたはタプルを走査できます。ループタプルの場合、この種の走査は反復です。
しかし、Python の for ループは Java の for ループよりも抽象度が高いのですが、なぜそう言えるのでしょうか?なぜなら、Python の for ループはリストやタプルだけでなく、他の反復可能なオブジェクトにも使用できるからです。つまり、反復可能なオブジェクトであれば、添字の有無に関係なく反復できます。
例:
# -*- coding: UTF-8 -*- # 1、for 循环迭代字符串 for char in 'liangdianshui' : print ( char , end = ' ' ) print('\n') # 2、for 循环迭代 list list1 = [1,2,3,4,5] for num1 in list1 : print ( num1 , end = ' ' ) print('\n') # 3、for 循环也可以迭代 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 )
出力結果は次のとおりです:
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