记录一下python的数据结构 - set
set类似于dict,是一组不重复的key的集合,但不存储value。
\>>> s = set([1, 2, 3])#要创建一个set,需要提供一个list作为输入集合
\>>> s
= set([1, 2, 3]) #传入的参数[1, 2, 3]是一个list,显示的set([1, 2, 3])只是告诉你这个set内部有1,2,3这3个元素,显示的[]并不表示这是一个list
\>>> s = set([1, 1, 2, 2, 3, 3])
\>>> s
= set([1, 2, 3])#重复元素在set中自动被过滤
\>>> s.add(4) #通过add(key)方法可以添加元素到set中
\>>> s
= set([1, 2, 3, 4])
\>>> s.add(4)
\>>> s
= set([1, 2, 3, 4])
\>>> s.remove(4) #通过remove(key)方法可以删除元素
\>>> s
= set([1, 2, 3])
\>>> s1 = set([1, 2, 3]) #set可以看成数学意义上的无序和无重复元素的集合
\>>> s2 = set([2, 3, 4])#因此,两个set可以做数学意义上的交集、并集等操作
\>>> s1 & s2
= set([2, 3])
\>>> s1 | s2
= set([1, 2, 3, 4])
注意:
- set的原理和dict一样
- 唯一区别仅在于set没有存储对应的value
- set同样不可以放入可变对象(比如list),因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”
本篇博客主要参考自
《用python做科学计算》
《Python自学笔记之基础内容回顾》
《Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结 》
《 Python list 操作》
《列表(list), 元祖(tuple), 字典(dict), 字符串(string), 集合(set) 的基本方法 》
《python 2.7教程 - 廖雪峰》