Pythonにおける、for文のロジックについて
Python初心者です。とある参考書に以下のコードがありました。
def nameModify(names):
for num in range(len(names)):
names[num] = names[num] + 'さん'
return names
beforeNames = ['大川', '田中', '阿部']
afterNames = nameModify(beforeNames)
print(beforeNames)
print(afterNames)
上記のコード上から3行目names[num] = names[num] + 'さん'
のところを
なんとなく試しにnames = names[num] + 'さん'
と左辺の[num]を消して実行したところ
['大川', '田中', '阿部']
んさん
と、print(afterNames)の箇所が「んさん」となりました。このように表示される理由を教えてください
自分で試したこと
切り分けとして、3行目と4行目の間にprint(names)
を追記して実行したところ
大川さん
川さん
んさん
['大川', '田中', '阿部']
んさん
となりました。names[num] + 'さん'
のループで
num[0]が「大川さん」
num[1]が「川さん」
num[2]が「んさん」
となるロジックがわからずです・・・