查看: 1668|回复: 5
收起左侧

[其他] 新手初学Python,遇到的小疑惑

[复制链接]
LLJ杰
发表于 2022-10-5 08:20:18 | 显示全部楼层 |阅读模式
先看下这段代码
a=[1,2,3]       #创建一个列表a
b=a             #创建b,让它等于列表a
b[1]=6         #修改b列表中的一个元素
print(a)          #输出a,输出结果是[1, 6, 3]   


可以发现,改变b后,a列表也自动跟着改变,=号将a和b关联在了一起



但是问题来了
a=[1,2,3]
b=a
a=233     #改变a
print(b)    #输出b,结果却还是[1, 2, 3]

既然=号将a和b关联在了一起,为什么前面一段代码,修改b后,a跟着改变,
后面一段代码,修改a后,b却没有改变?




柯林
发表于 2022-10-5 08:53:59 | 显示全部楼层
不懂编程的菜鸟,老白路过帮顶
个人觉得,或许应该先从第一段代码的逻辑入手
为啥b[1]=6后,改变的仅仅是第二个
是否意味着,b=a=【b0,b1,b2】
该不会是b=a=【a,b,c】吧,这是不是太扯了
不懂,纯路过,说错勿怪
imba-tjd
发表于 2022-10-5 10:56:37 | 显示全部楼层
前者你用了[],后者是=,你不能笼统的把它称为“修改”
神话哈
发表于 2022-10-5 11:04:31 | 显示全部楼层
房子和房子里的人
fzp070
发表于 2022-10-7 17:17:41 | 显示全部楼层
我也不懂,想问下如果是这样呢?结果会变吗?
  1. a=[1,2,3]
  2. a=233
  3. b=a
  4. print(b)
复制代码
minifish
发表于 2022-10-7 18:09:05 | 显示全部楼层
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-12-29 08:54 , Processed in 0.133296 second(s), 17 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表