亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

為何字典的for循環 for后面的組合值改變會影響in后面的值

aliens = []

for alien in range(30):

? ? new_alien = {'color':'blue','point':5,'speed':'slow'}

? ? aliens.append(new_alien)

print('\n')

for alien in aliens[0:3]:

? ? if alien['color'] == 'blue':

? ? ? ? alien['color'] = 'yellow'

? ? ? ? alien['point'] = 10

? ? ? ? alien['speed'] = 'medium'

? ? ? ? print(alien)

如題中,alien被改變 alens也被影響了。然而list與元組的for循環則不會被影響是為什么呢?

正在回答

2 回答

第一個for循環里將aliens定義為一個list,

在第二個for循環里,你定義了alien遍歷list(aliens)前3個元素,會得到:

{'color':'blue','point':5,'speed':'slow'}

{'color':'blue','point':5,'speed':'slow'}

{'color':'blue','point':5,'speed':'slow'}

每個元素都是dict

然后你定義了這三個元素中,當key值color為blue時(alien['color'] == 'blue'),dict里的各key值的變量會改變

因此會得到

{'color':'yellow','point':10,'speed':'medium'}

{'color':'yellow','point':10,'speed':'medium'}

{'color':'yellow','point':10,'speed':'medium'}

先執行第一個for循環,再執行第二個for循環,兩者并不影響

2 回復 有任何疑惑可以回復我~

頭大了可能是聽的時間長了,可以出去走走,然后回來接著聽。。

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
初識Python
  • 參與學習       758400    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

為何字典的for循環 for后面的組合值改變會影響in后面的值

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號