2 weixin 38670849 weixin_38670849 于 2017.09.14 15:32 提问

python语言中字典嵌套的问题
 aliens = []

for alien_number in range(30):
    new_alien = {'color':'green','point':5,'speed':'slow'}
    aliens.append(new_alien)

for alien in aliens[0:3]:
    if alien['color'] == 'green':
        alien['color'] = 'yellow'
        alien['points'] = 10
        alien['speed'] = 'medium'
    elif alien['color'] == 'yellow':
        alien['color'] = 'red'
        alien['speed'] = 'fast'
        alien['points'] = 15

for alien in aliens[:5]:
    print(alien)
print("...")

上段代码的运行结果跟想象中的有些出入,运行结果如下:图片说明
可是我希望的运行结果是points的值发生变化,而不是在末尾加入points的新值。并且elif中的代码根本就没有实现。请问是什么原因?

2个回答

bealing
bealing   Rxr 2017.09.14 15:37

你的key 一个是 point 一个是 points!

weixin_38670849
weixin_38670849 啊啊啊啊啊啊啊!我蒙了,看了三四遍没看出来。谢谢!
2 个月之前 回复
qq_35235940
qq_35235940   2017.09.14 15:37

你的一个是points,一个是point呀,而且if执行完就执行下一条了,肯定不会执行else呀

weixin_38670849
weixin_38670849 啊啊啊啊啊啊啊!我蒙了,看了三四遍没看出来。谢谢!
2 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片