小小羊yky
发表于 2023-8-8 12:26:07
>>> A=*3
>>> for i in range(3):
A=A
>>> A
[[...], [...], [...]]
各位大神,求解,这是为什么
小小羊yky
发表于 2023-8-8 13:31:07
小小羊yky 发表于 2023-8-8 12:26
>>> A=*3
>>> for i in range(3):
A=A
看完第023讲的课后答案,我似乎懂了
137430724
发表于 2023-9-27 17:57:19
>>> a=-6
>>> b=-6
>>> c=-5
>>> d=-5
>>> e=256
>>> f=256
>>> g=257
>>> h=257
>>> id(a);id(b);id(c);id(d);id(e);id(f);id(g);id(h);
48351984
48352016
8790360089040
8790360089040
8790360097392
8790360097392
48352048
48352080
>>> a is b;c is d;e is f;g is h
False
True
True
False
>>> a==b;c==d;e==f;g==h
True
True
True
True
137430724
发表于 2023-9-27 18:06:01
小小羊yky 发表于 2023-8-8 12:26
>>> A=*3
>>> for i in range(3):
A=A
[...] 为什么会出现这个呢
song_han
发表于 2024-7-11 20:04:10
{:5_106:}
JTYBLCC
发表于 2024-7-18 17:34:07
学完打卡
sunshine_8205
发表于 2024-12-3 11:23:16
{:5_108:}
cc372553975
发表于 2024-12-10 10:58:07
zdasd 发表于 2021-4-7 10:20
**1.列表的加法和乘法**
列表的加法是拼接,要求加号两边都是列表。
好人啊
YOVS
发表于 4 天前
本帖最后由 YOVS 于 2024-12-18 20:51 编辑
大毛不困 发表于 2020-9-10 21:01
还是不懂 A = [ * 3] * 3 为什么不行。
A is B == True 意思是 A 和 B 是同一个对象?存储地址相同?改 ...
我也试了感觉很奇怪,好像每次储存单个一样的数字(数字比较常规)的时候,id地址也是一样的:导致is比较的变量如果指向同一个数字,is的功能就类似==;比较一串列表的时候就正常了。
如果定义 a=10、b=10, 然后再对比 a is b 会发现返回的结果是 True,这是因为在 Python 中会实现创建一个小型的整形池,范围为 [-5,256],为这些整形开辟好内存空间,当代码中定义该范围内的整形时,不会再重新分配内存地址。