in(1 含まれるか調べる演算子、2 for文で1個ずつ取り出す)

inが含まれるか調べる演算子の場合

a=[1,3,5,7,9]
print(2 in a) # False  2はaに含まれない
print(5 in a) # True  5はaに含まれる

 

 

inが値を1個ずつ取り出すばあい for文

a=[1,3,5,7,9]

for i in range(5):
     print(i,a[i])

0 1 # i a[0]
1 3 # i a[1]
2 5 # i a[2]
3 7 # i a[3]
4 9 # i a[4]

range関数で作られた、[0,1,2,3,4]を一個づつ i に代入しています

in よりrangeを先に理解しないと解らない

range、要素数だけforを回すため、要素を生成するのがrange関数

print(i) #i の中身はどうなってる?
range(0, 5) # [0,1,2,3,4]と表示されるかと思ったら、関数オブジェクト?

print(type(i)) # i のタイプは?
<class ‘range’> #オブジェクト生成前のクラス型?range型関数?

print(type(i[0])) #では要素については
<class ‘int’> #intのオブジェクトですね。

—————————–
a=[1,3,5,7,9]
for i in a : # aから要素を1個ずつ取り出して i に代入
    if i < 5: # iの値が要素数(5)を超えるとエラーになる
          print(i,a[i])
          

i,a[],a[i]
3 # i  ,a[1]
3  7 # i  ,a[3]

print (type(i))