集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合。
1
2
|
student = { '小明' , 'xiaohong' , 'adm' } print ( 'student的数据类型' , type (student)) # student的数据类型 <class 'set'> |
集合的基本操作
1、添加元素
add()
功能:
用于集合中添加一个元素,如果集合中已存在该元素则函数不执行
用法:
1
2
3
|
set .add(item) 参数: item:要添加到集合中的元素 |
1
2
3
4
5
6
7
8
9
10
11
12
|
a_list = [ 'python' , 'django' , 'django' , 'flask' ] a_set = set () a_set.add(a_list[ 0 ]) a_set.add(a_list[ 1 ]) a_set.add(a_list[ 2 ]) a_set.add(a_list[ - 1 ]) print (a_set) # {'flask', 'django', 'python'} # 重复的元素未添加进集合 a_set.add( True ) a_set.add( None ) print (a_set) # {True, None, 'django', 'python', 'flask'} # 集合是无序的 |
从上面的例子可以证明:
1.集合是不重复元素的序列
2.集合是无序的
update()
功能:
加入一个新的集合(列表,元素,字符串),如辛几何内的元素在原集合中存在则无视
用法:
1
2
3
|
set .update(iterable) 参数: iterable:集合、列表、元组、字符串 |
1
2
3
4
5
6
|
# update a_tuple = ( 'a' , 'b' , 'c' ) a_set.update(a_tuple) print (a_set) # {True, None, 'a', 'django', 'c', 'flask', 'b', 'python'} a_set.update( 'python' ) print (a_set) # {True, 'o', 't', None, 'h', 'a', 'django', 'c', 'flask', 'y', 'n', 'b', 'python', 'p'} |
2、移除元素
remove()
功能:
将集合中的某个元素删除,如元素不存在将会报错
方法:
1
2
3
|
set .remove(item) 参数: iten:当前集合中的一个元素 |
clear()
功能:
清空当前集合中的所有元素
用法:
1
2
3
|
set .remove(item) 参数: iten:当前集合中的一个元素 |
重要说明:
- 集合无法通过索引获取元素
- 集合无法获取元素的任何方法
- 集合只是用来处理列表或元组的一种临时类型,他不适合存储和传输
1
2
3
4
5
|
a_set.remove( 'python' ) print (a_set) # {'p', True, None, 'y', 'a', 't', 'o', 'flask', 'n', 'b', 'h', 'django', 'c'} a_set.clear() print (a_set) # set() a_set.remove( 'django' ) # KeyError: 'django' |
3、集合的交集
什么是交集?
a,b两个集合分表拥有的相同的元素集,称为a与b的交集
intersection()
功能:
返回两个或更多集合中都包含的元素,即交集
用法:
1
2
3
4
5
|
a_set.intersection(b_set...) 参数: b_set...: 与当前集合对比的一个或多个集合 返回值: 返回原始集合与对比集合的交集 |
1
2
3
4
5
6
7
8
9
10
|
a = [ 'dewei' , 'xiaomu' , 'xiaohua' , 'xiaoguo' ] b = [ 'xiaohua' , 'dewei' , 'xiaoman' , 'xiaolin' ] c = [ 'xiaoguang' , 'xiobai' , 'dewei' , 'xiaooyuan' ] a_set = set (a) b_set = set (b) c_set = set (c) print (a_set, b_set, c_set) result = a_set.intersection(b_set, c_set) xiaotou = list (result) print ( '{}是这个小偷' . format (xiaotou[ 0 ])) |
3、集合的并集
什么是并集?
- a,b两个集合分表拥有的元素(去掉重复)即为a与b的并集
union()
功能:
- 返回多个集合的并集,即包含了所有集合的元素,重复的元素指挥出现一次
用法:
1
2
3
4
5
|
a_set.union(b_set...) 参数: b_set...:与当前集合对比一个或多个集合 返回值: 返回原始集合与对比集合的并集 |
1
2
3
4
5
6
7
8
9
10
11
12
|
a_school = [ '周五半天' , '免费周末培训' , '周五休息' ] b_school = [ '放学时间从6点改为5点' , '作业少留点' , '换舒服的座椅' ] c_school = [ '作业少留点' , '周五半天' , '伙食改善' ] a_set = set (a_school) b_set = set (b_school) c_set = set (c_school) print (a_set) print (b_set) print (c_set) # help_data = a_set.union(b_set, c_set) help_data = a_set.union(b_school, c_school) print (help_data) |
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/qq_40299019/article/details/120478994