为什么这行代码可以添加到字典中

为什么这行代码可以添加到字典中

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好。在执行图一代码后,列表xiaogming的值已经被修改了,当再次执行if语句时,if条件不成立,会执行else中的代码,从而会添加到字典中

http://img1.sycdn.imooc.com//climg/5f857a3b0983592905710595.jpg

http://img1.sycdn.imooc.com//climg/5f857a4709c90c1208740335.jpg如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~

  •       谢谢老师也解决了我的同样问题!其实前面列表 users 那段代码中已经提前重新赋值修改了 xiaoming[0] = '%s_new' % xiaoming[0] ,所以 xiaomings也好,xiaoming也罢,xiaoming经过前面列表 users 那段代码提前重新赋值修改成了xiaoming_new,所以两种情况对应就是 xiaomings 和 xiaoming_new,两种情况都不同于 xiaoming,两种情况都走else路线,所以列表 users 走else路线 给它append添加了新元素,字典users 也走 else路线,dict[key] = value ,给它添加新元素,两种情况都被添加到了字典里面,主要是受前面列表users的提前重新赋值修改 xiaoming[0] = '%s_new' % xiaoming[0] 影响同学们很容易疏忽(疏忽第一段代码)而出错!

           如果列表users和字典users两段代码独立分开处理的话,一般即使偶尔有点粗心的同学自然就都没有问题了,所以正如老师所讲学python5个心里面的细心!非常细心对于程序开发非常重要!如果非常细心争取尽可能代码一遍对!一遍过!就可以大大节约不必要的工作时间和成本!

           其实个人觉得字典users那段代码 if 中的 xiaoming[0] = '%s_new' % xiaoming[0] 重复(in 其实就是等于字典里面的xiaoming)作用不大,因为前面列表users那段代码早就提前修改了 xiaoming,没有xiaoming的,只有xiaomings 或者 xiaoming_new , 老师应该是为了字典users那段代码 if 和 else 的完整性,才写 if 中的 xiaoming[0] = '%s_new' % xiaoming[0] 的吧,尽管重复了作用不大,但并不是多此一举。

                 

          






    2021-05-21 10:28:29
  • http://img1.sycdn.imooc.com//climg/60a7237608857c6e00000000.jpg

    http://img1.sycdn.imooc.com//climg/60a723760844d08f13620683.jpg

    如果字典users那段代码单独拿出来,就是这种一般同学都能理解且不容易疏忽出错的情况。

    2021-05-21 11:09:42
  • 时间, 回复 风林海 #3

    同学,你好!同学单独拿出来也是可以的。放到一起的话一定要认真,代码是上往下执行的,因此前边的代码可能也会影响到后边代码的执行结果。

    祝学习愉快!

    2021-05-21 14:07:11
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师