菜蜂 发表于 2017-5-5 10:23:34

python的set数据结构居然和dict相似

  前期在python程序开发中用了很多set,
  提供了丰富的‘&,|,-’等操作,使用非常方便,方便鬼方便,对于服务器性能还是非常重要的。于是
  对SET的速度做了些测试,非常的快(我的测试方法是插入100W条数据,然后插入100W零1,set特性肯定会在这100w数据中查找,如果遍历查找是吃不消的,测试结果非常快)。
  于是看了python 2.5中set部分的实现,貌似是使用hashtable做底层的数据结构。
  于是写python代码做了测试,如下:
  import random
  l = []
  m = {}
  i = 0
  while 1:
  v = random.randint(1,10000)
  l.append(v)
  m = 1
  i += 1
  if i >= 100:
  break
  s = set(l)
  print 's:', s, '\n'
  print 'm:', m.keys(), '\n'
  执行后打印结果:
  s: set() 
  m:  
  居然完全一样,确认了之前的想法,set底层实现和dict底层实现相似,都用了hashtable。set,map都有相同的特性,集合中元素唯一。
页: [1]
查看完整版本: python的set数据结构居然和dict相似