python set集合:
特点:
1》无序
2》元素不重复
功能:
1》关系测试
2》去重
常见方法:
1》集合定义
>>> s={2,3,4}
>>> type(s)
<type 'set'>
>>> s
set([2, 3, 4])
>>> s={1,2,3,2,2,1}#自动去重(集合中的元素不重复)
>>> s
>>> l=range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s=set(l)#将列表转化成集合
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[0]#列表有序,通过下标访问元素
0
>>> s[0]#集合无序,不支持下标访问
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
s[0]
TypeError: 'set' object does not support indexing
>>> t=(1,2,3,4,3,2)
>>> s=set(t)#将元组转换成集合(自动去重)
set([1, 2, 3, 4])
3》add()方法
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l.append(9)#列表中允许存在重复元素
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9]
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> s.add(9)#添加失败(集合中元素不允许重复)
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> s.add(10)#添加成功
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
4》pop()方法
>>> help(set.pop)
Help on method_descriptor:
pop(...)
Remove and return an arbitrary set element.
Raises KeyError if the set is empty.
>>> s={3,4}
>>> s
set([3, 4])
>>> s.pop()
3
>>> s.pop()
4
>>> s
set([])
>>> s.pop()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
s.pop()
特点:
1》无序
2》元素不重复
功能:
1》关系测试
2》去重
常见方法:
1》集合定义
>>> s={2,3,4}
>>> type(s)
<type 'set'>
>>> s
set([2, 3, 4])
>>> s={1,2,3,2,2,1}#自动去重(集合中的元素不重复)
>>> s
set([1, 2, 3])
>>> s={1,2,3}#可以通过这样的形式生成一个非空集合
>>> s
set([1, 2, 3])
如何生成一个空集合呢?
>>> s={}#这样做生成的是空字典,并不是空集合
>>> s
{}
>>> type(s)
<type 'dict'>
可以这样生成空集合
>>> s=set([])#将空列表转化成空集合
>>> s
set([])
>>> s=set(())#也可以将空元组转化成空集合
>>> s
set([])
>>> l=range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> s=set(l)#将列表转化成集合
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[0]#列表有序,通过下标访问元素
0
>>> s[0]#集合无序,不支持下标访问
Traceback (most recent call last):
File "<pyshell#33>", line 1, in <module>
s[0]
TypeError: 'set' object does not support indexing
>>> t=(1,2,3,4,3,2)
>>> s=set(t)#将元组转换成集合(自动去重)
set([1, 2, 3, 4])
3》add()方法
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l.append(9)#列表中允许存在重复元素
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 9]
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> s.add(9)#添加失败(集合中元素不允许重复)
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> s.add(10)#添加成功
>>> s
set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
4》pop()方法
>>> help(set.pop)
Help on method_descriptor:
pop(...)
Remove and return an arbitrary set element.
Raises KeyError if the set is empty.
>>> s={3,4}
>>> s
set([3, 4])
>>> s.pop()
3
>>> s.pop()
4
>>> s
set([])
>>> s.pop()
Traceback (most recent call last):
File "<pyshell#53>", line 1, in <module>
s.pop()
KeyError: 'pop from an empty set'
(完)