python下set使用小结

170 阅读2分钟

说明

  • dict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的,有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了.

  • set的内部结构和dict很像,唯一区别是不存储value,因此,判断一个元素是否在set中速度很快。set存储的元素和dict的key类似,必须是不变对象,因此,任何可变对象是不能放入set中。最后,set存储的元素也是没有顺序。

  • set持有一系列元素,这一点和list很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。总结一句:无序,不重复.

  • 因为set的值不会重复所以当我们传入重复的值的时候就会把重复值删掉例: s = set(['a' , 'b' , 'c' , 'c'])打印出来之后是 ['a','b','c']。而且len(s) = 3而不是4.

赋值

  • 由于set存储的是一组不重复的无序元素,因此,更新set主要做两件事:一是把新的元素添加到set中,二是把已有元素从set中删除。

    #添加
    s = set([1 ,2 ,3 ,4]) 
    s.add(5)
    print(s)   # ([1,2,3,4,5]) #如果set中已存在值(例5),则值不会被添加到set中
    # 移除
    s.remove(5)
    print(s) #()[1,2,3,4] #如果remove的值不存在于set中时会报错
    

取值

  • 由于set是无序的所以不能通过索引的方式获取set值。访问set值就是判断set中是否存在该值.注:set区分大小写.
    s = set(['a' , 'b' , 'c’])
    print('b' in s)  #True
    # 遍历
    for key in set:
    print(ley)
    


```

快速API

s = set([1, 2, 3])

# add
s.add(4)

# delete
s.remove(4)

# update
s.update([5])
print(s) # ([1,2,3,5])

# find
print (5 in s)