{i for i in "FishC"}集合排序
>>>{i for i in "FishC"}{'s', 'C', 'i', 'h', 'F'}
>>>{i for i in "FishC"}
{'s', 'C', 'i', 'h', 'F'}
>>>{i for i in "FishC"}
{'s', 'C', 'i', 'h', 'F'}
集合不是无序的吗?
为什么会出现这种情况
本帖最后由 tommyyu 于 2022-12-19 10:32 编辑
应该是在一次打开上运行到的结果一样,你再打开IDLE,再输入这个,就会有不同的返回值 tommyyu 发表于 2022-12-19 10:28
应该是在一次打开上运行到的结果一样,你再打开IDLE,再输入这个,就会有不同的返回值
这种情况我也知道,
但我想知道的是他为什么会出现相同的情况,这个原理是什么 梦觉知 发表于 2022-12-19 11:21
这种情况我也知道,
但我想知道的是他为什么会出现相同的情况,这个原理是什么
所以你期望的结果是什么? suchocolate 发表于 2022-12-19 11:42
所以你期望的结果是什么?
出现相同结果的原理 梦觉知 发表于 2022-12-19 11:49
出现相同结果的原理
>>> id({i for i in 'FishC'})
1929336217896
>>> id({i for i in 'FishC'})
1929336217896
>>> id({i for i in 'FishC'})
1929336217896
>>> suchocolate 发表于 2022-12-19 14:59
>>> id({i for i in 'FishC'})
1929336217896
>>> id({i for i in 'FishC'})
感觉不是
>>>a = set("asg")
>>>b = a.copy()
>>>id(a)
2445538283072
>>>id(b)
2445538282176
>>>a
{'g', 's', 'a'}
>>>b
{'g', 's', 'a'}
>>>a
{'g', 's', 'a'}
>>>b
{'g', 's', 'a'} 梦觉知 发表于 2022-12-19 16:16
感觉不是
>>>a = set("asg")
>>>b = a.copy()
你说的都对 因为在内存中的地址是没有变的,所以输出的内容当然就没有变化了。当你释放掉了内存地址再重新获取就是另外的样子了
页:
[1]