Py小郑 2022-01-16 09:35 采纳率: 96.6%
浏览 33
已结题

Python关于链表的疑惑

碰到这样一个问题,恳请解答:

#对于列表
a=[1,2,3]
b=a
a.append(4)
print(b)#[1,2,3,4]
#所以我的理解是要用到副本 b=a.copy,使之成为两个独立的列表 a=[1,2,3,4] b=[1,2,3]


对于链表我的疑惑就来了
比如有一个ListNode类
cur=dum=ListNode(0)
已知dum.next=a
在一个循环体里面
dum=dum.next执行很多次以后(最后不指向None),假设最后一次指向 b(随意的一个实例对象),那cur.next为什么不是b而是原来的a?
它不应该 像列表那样等号关联起来 以后指向同一个对象吗?
#恳请解答!谢谢

  • 写回答

1条回答 默认 最新

  • LYSnowy 2022-01-16 09:59
    关注

    可以按照C/C++的思路理解,这可以理解为一个数组,那么a就是数组的首地址,并不是单纯的一个变量a,所以
    b=a的时候,就相当于b也是一个地址,指向了a,所以,在更改a之后,b也会相应更改,但是,你后面说的那个cur、dum这些应该不是地址,是普通的变量,所以,并不是指向的关系,也就不会相互影响

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月24日
  • 已采纳回答 1月16日
  • 创建了问题 1月16日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题