刚开始学python,自己啃书到嵌套遇到问题
建立一个含有20个外星人的列表方法一:
aliens = []
alien = {'color':'green','points':'5','speed':'slow',}
for number in range(20):
aliens.append(alien)
方法二:
aliens = []
for number in range(20):
alien = {'color':'green','points':'5','speed':'slow',}
aliens.append(alien)
下面的代码是修改列表aliens[]里前三个外星人数据
for alien_up in aliens[0:3]:
if alien_up['color'] == 'green':
alien_up['color'] = 'yellow'
alien_up['points'] = 10
alien_up['speed'] = 'medium'
for alien_up in aliens[:]:
print(alien_up)
为什么用方法一创建的列表经过下面的修改外星人代码后,列表里所有字典的值都变了,而方法二创建的列表只有前三个字典值改变?
方法一与方法二有啥区别?