>>> dir(set)
['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '_
_eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__ian
d__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__le
n__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__redu
ce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeo
f__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy
', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_u
pdate', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_diff
erence', 'symmetric_difference_update', 'union', 'update']
1.集合支持一系列标准操作,包括并集、交集、差集和对称差集,例如:
a = t | s # t 和 s的并集
b = t & s # t 和 s的交集
c = t – s # 求差集(项在t中,但不在s中)
d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中)
2.基本操作
t = [1,2,3] ; s=[1,3,4,2]
>>> s
set(['14.053064', '-0.017612', 'hello'])
>>> t=copy.deepcopy(s)
>>> t.remove('hello')
>>> t
set(['14.053064', '-0.017612'])
>>> s.issuperset(t)
True
t.add('x') # 添加一项 ,内部会自动的排序
s.update([10,37,42]) # 在s中添加多项
t.remove('H') #使用remove()可以删除一项:
len(s) #set 的长度
x in s #测试 x 是否是 s 的成员
x not in s #测试 x 是否不是 s 的成员
测试是否 s 中的每一个元素都在 t 中
s.issubset(t)
s <= t
#测试是否 t 中的每一个元素都在 s 中
s.issuperset(t)
s >= t
#返回一个新的 set 包含 s 和 t 中的每一个元素
s.union(t)
s | t
返回一个新的 set 包含 s 和 t 中的公共元素
s.intersection(t)
s & t
返回一个新的 set 包含 s 中有但是 t 中没有的元素
s.difference(t)
s - t
#返回一个新的 set 包含 s 和 t 中不重复的元素
s.symmetric_difference(t)
s ^ t
s.copy() #返回 set “s”的一个浅复制
返回增加了 set “t”中元素后的 set “s”
s.update(t)
s |= t
返回只保留含有 set “t”中元素的 set “s”
s.intersection_update(t)
s &= t
返回删除了 set “t”中含有的元素后的 set “s”
s.difference_update(t)
s -= t
返回含有 set “t”或者 set “s”中有而不是两者都有的元素的 set “s”
s.symmetric_difference_update(t)
s ^= t
向 set “s”中增加元素 x
s.add(x)
从 set “s”中删除元素 x, 如果不存在则引发 KeyError
s.remove(x)
如果在 set “s”中存在元素 x, 则删除
s.discard(x)
删除并且返回 set “s”中的一个不确定的元素, 如果为空则引发 KeyError
s.pop()
删除 set “s”中的所有元素
s.clear()
>>> dir(list)
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delsli
ce__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getit
em__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__',
'__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__r
educe__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__'
, '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'a
ppend', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort'
]
>>>
#用某个固定值初始化列表
>>> initval=5
>>> sample_list = [ initval for i in range(10)]
>>> sample_list
[5, 5, 5, 5, 5, 5, 5, 5, 5, 5]
>>> len(sample_list)
10
>>> sample_list=[initval]*6
>>> sample_list
[5, 5, 5, 5, 5, 5]
下标:按下标读写,就当作数组处理
以0开始,有负下标的使用
0第一个元素list[0],-1最后一个元素list[-1],
dic 续