集合(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