python基础二

集合

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

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

应用:去重

1 >>> lst1 = [1,1,2,2,3,4,2]
2 >>> list(set(lst1))
3 [1, 2, 3, 4]

常用操作

  1. 集合支持一系列标准操作,包括并集|、交集&、差集-和对称差集^
  2. 子集< <=及超集> >=
  3. 增删,清空操作 

具体见如下代码例子

 1 >>> lst1 = [1,2]
 2 >>> lst2 = [2,3]
 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 [1, 2]
17 >>> a < b #子集判断
18 False
19 >>> c = set([1])
20 >>> c
21 {1}
22 >>> c < a  #子集判断
23 True
24 >>> c <= a #子集判断
25 True
26 >>> d = set([1,2,3])
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([2,3]) #添加多个元素
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
原文地址:https://www.cnblogs.com/benric/p/4993418.html