Python 关于set的数字元素的顺序问题

本文探讨了Python中set数据结构对于数字元素的排序现象。尽管set是无序的,但在特定情况下,数字可能会显示出一定的顺序。通过实验发现,这可能与Python内部使用的哈希表有关,当元素数量触发哈希表扩展时,部分连续数字会按顺序排列。然而,由于哈希表的不确定性,对于非连续或非步进1的序列,set中的顺序不能被依赖。因此,虽然可以偶然利用set进行排序,但这并不推荐且不可靠。
摘要由CSDN通过智能技术生成

无序的这个是str.isspace,看似有序的是str.isascii,除了shell输入set的变量,是有序显示,但是无论是str()还是repr()还是list(),并非顺序显示

print(d['isspace'])
{
   5760, 8192, 8194, 8195, 8193, 133, 8196, 8197, 8198, 9, 10, 11, 12, 13, 8199, 8200, 8201, 8202, 12288, 28, 29, 30, 31, 32, 160, 8232, 8233, 8239, 8287}

print(d['isascii'])
{
   0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值