new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'} aliens = [new_alien for new_alien_number in range(30)] print(aliens) print('\n') for alien in aliens[0:3]: if alien['color'] == 'green': alien['color'] = 'yellow' alien['points'] = 10 alien['speed'] = 'medium' print('\n') for alien in aliens[0:5]: print(alien)
为什么跑出来结果是所有的外星人都变成黄色了
import copy
new_alien = {'color': 'green', 'points': 5, 'speed': 'slow'}
aliens = [copy.deepcopy(new_alien) for new_alien_number in range(30)]
print(aliens)
用深拷贝,不理解可以看我的博文:https://blog.csdn.net/qq_30527579/article/details/116121334?spm=1001.2014.3001.5501
我不是在上个问题回复了吗。。。你这个第二行的问题,这么写是浅拷贝,改一个去其他全部变了,详细的去看看上个问题的回答。