89ou 发表于 2015-12-2 15:12:26

python基础二

  集合
  特点:集合对象是一组无序排列的可哈希的值:集合成员可以做字典的键,与列表和元组不同,集合无法通过数字进行索引。此外,集合中的元素不能重复。



1 定义
2
3 set() -> new empty set object
4 set(iterable) -> new set object
5 s = {0}
  应用:去重



1 >>> lst1 =
2 >>> list(set(lst1))
3
  常用操作


[*]集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
[*]子集< <=及超集> >=
[*]增删,清空操作
  具体见如下代码例子





1 >>> lst1 =
2 >>> lst2 =
3 >>> a = set(lst1) #定义集合
4 >>> b = set(lst2)
5 >>> a,b
6 ({1, 2}, {2, 3})
7 >>> a|b#取并集
8 {1, 2, 3}
9 >>> a&b #取交集
10 {2}
11 >>> a-b #取差集
12 {1}
13 >>> b-a #取差集
14 {3}
15 >>> list(a) #转换集合为列表,也可转为元组,如 tuple(a)返回 (1,2)
16
17 >>> a < b #子集判断
18 False
19 >>> c = set()
20 >>> c
21 {1}
22 >>> c < a#子集判断
23 True
24 >>> c <= a #子集判断
25 True
26 >>> d = set()
27 >>> d > a #超集判断
28 True
29 >>>
30 >>> d >= a #超集判断
31 True
32 >>> a,b
33 ({1, 2}, {2, 3})
34 >>> a^b # 对称差集
35 {1, 3}
36 >>> c
37 {1}
38 >>> d
39 {1, 2, 3}
40 >>> a^d # 对称差集
41 {3}
42 >>> s = {0}
43 >>> type(s)
44 <class 'set'>
45 >>>
46 >>> print(s, len(s))#集合长度
47 {0} 1
48 >>> s.add('1') #添加元素
49 >>> s
50 {0, '1'}
51 >>> s.update() #添加多个元素
52 >>> s
53 {0, 2, 3, '1'}
54 >>> s.remove(2) #删除指定元素,如没有则报错
55 >>> s
56 {0, 3, '1'}
57 >>> s.pop() #随便删元素(貌似没什么用)
58 0
59 >>> s
60 {3, '1'}
61 >>> s.discard(3) #删除指定元素
62 >>> s
63 {'1'}
64 >>> s.clear() #清空集合
65 >>> s
66 set()
View Code  
页: [1]
查看完整版本: python基础二