|
有以下一段代码:
aliens = []
for alien_number in range(30):
new_alien = {'color':'green','points':5,'speed':'slow'}
aliens.append(new_alien)
for alien in aliens[0:5]:
if alien['color'] == 'green':
alien['color'] = 'yellow'
alien['points'] = 10
alien['speed'] = 'medium'
for alien in aliens[0:10]:
print(alien)
想问的是:为什么new_alien这个变量不能在for循环之前进赋值?比如这样写:
aliens = []
new_alien = {'color':'green','points':5,'speed':'slow'}
for alien_number in range(30):
aliens.append(new_alien)
for alien in aliens[0:5]:
if alien['color'] == 'green':
alien['color'] = 'yellow'
alien['points'] = 10
alien['speed'] = 'medium'
for alien in aliens[0:10]:
print(alien)
我发现如果这样写的话,在第二个for循环执行之后,new_alien的值已经变了。请教一下为什么会这样?最好能详细点解释一下。万分感谢!!
|
|