weixin_42377016 2022-02-18 01:09 采纳率: 100%
浏览 31
已结题

关于python中List赋值的问题

学习python时,有发现如下问题,不是很明白其赋值原理,请各位帮忙解答一下,谢谢!
1.

img


如上代码

img

个人感觉"result"应该是“nameList”的初始数据,为什么将“nameList”数据修改后,“result”的数据也随之改变?
2.

img


如上代码

img

为什么“print(result)”的结果直接是“None”?

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-02-18 01:13
    关注

    因为列表是引用数据类型,这是浅复制。
    浅复制分析:python列表的浅复制对于列表中存在可变的可迭代对象如列表,集合,字典这样的存在也是引用的原对象的地址空间,所以会一同改变。对于列表中存在的数值型数据浅复制会直接创建新的地址空间用以保存。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
    CSDN专家-sinJack 2022-02-18 01:20

    问题2
    extend() 函数是没有返回值的,所以

    result=nameList.extend(ageList)
    

    没有起到赋值的作用,导致result为None.

    1
    回复
    CSDN专家-sinJack 2022-02-18 01:20

    img

    1
    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月25日
  • 已采纳回答 2月18日
  • 创建了问题 2月18日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部