python set顺序,python的set用法

  python set顺序,python的set用法

  Python的集合是一组无序且不可重复的元素,概念上相当于一个数学上的无序集合,数据结构相当于dict的key。

  集合既然是集合,就必然要实现并、交、差、对称差等集合运算。

  Set是一组无序的散列值,因此它可以用作字典中的键。比如链表、元组、字典等。之前在in集合中介绍过,可以用in运算符检查集合中是否存在元素,用len()获取集合中元素的个数,用for loop迭代其成员,用copy()返回浅层副本。不同的是集合本身是无序的,所以不索引就无法实现索引和切片操作。

  相关:《Python视频教程》

  集合具有以下特征:

  元素不会重复出现。

  元素必须是不可变的对象。

  你可以把set想象成dict中的一个key,当然也只是局限在数据结构层面。

  在Python中,set的底层结构和dictionary完全一样,都是哈希表。可以看作是有键无值的字典。

  早期版本的Python中没有set类型。当时开发者直接建了一个{key1:none,key23360none}的字典来实现set的功能。

  字典和set都是用空间换时间,浪费了很多空间。

  集合的目的是解决判断一个元素是否出现在集合中的搜索效率问题。

  timeit.timeit(stmt=10**4ins ,setup=s=range(10**5),number=10**5)

  13.447274759909192

  timeit.timeit(stmt=10**4ins ,setup=s=set(xrange(10**5)),number=10**5)

  0.006686778187940945

  列表的实现是链表,空间利用率高,添加元素快捷方便。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: