66573


こんにちは。Python初心者です。  
このコードを実行すると、「1」ではなく、「0」が出力される理由を教えて下さい。

forループの中で、breakを入れ途中でループを抜けるコードを作りたいのですが、  
どうしても自分の思うようにいきません。

私は以下のようなコードで、listAというリストに[1, 2, 3]という要素を  
入れました。そして、その要素の中から0番目の「1」のみを出力したいと考え、  
以下のようなコードを作りました。リストの0番目を出力したらbreakに  
移れるようにnumber += 1をコードの中に含めました。そしてnumberが  
1になるのでbreakになりループから抜けられるという見込みでした。

しかし、出力されるのが最初に申した通り、「0」になります。「0」という  
要素は当リストに入っておりません。理由と改善方法を教えて下さい。

[code]

    listA = [1, 2, 3]
    number = 0
    for listA[number] in range(0, 3):
        print(listA[number])
        number += 1
        if number == 1:
            break
    
[/code]


CC BY-SA 4.0
2020-05-13T08:49:32.807
66570
2020-05-13T09:37:36.940
39846
question
python3
Pythonのforループとbreakをについて教えて下さい。


## 原因(0が表示される)

[code]

    for listA[number] in range(0, 3):
    
[/code]

のループの最初の処理でlistA[0]に0(※)が格納されています。  
※ range(0, 3)の初回の値

## 改善

`for listA[number] in range(0, 3):`を以下のように修正すればよいと思います。

[code]

    for i in range(len(listA)):
    
[/code]


CC BY-SA 4.0
2020-05-13T09:37:36.940
66573
2020-05-13T09:37:36.940
2020-06-17T08:14:45.997
-1
35558
66570
answer