python中集合的使用

python中集合的使用

在python中对集合的操作主要包括:集合的创建、集合中数据的添加、集合中数据的删除、集合中数据的查找。

1、集合的创建

在python中集合的创建方法有直接创建和使用关键字创建。

1.1、直接创建集合

集合的直接创建方法是使用大括号(即:{}里面添加数据)进行创建。注意:集合创建后,数据是唯一的(不能同时存在多个相同的数据),如果数据全为数字,会按从小到大的顺序进行排列。一个集合中能够存在多种数据类型的数据。
语法:

变量名 = {数据1, 数据2, ......}

在python中的应用:

# 直接创建集合
s1 = {1, 2, 3, 4, 5}    # 创建存储数字的集合
s2 = {1, 3, 5, 2, 4}    # 创建存储数字的集合,但是数字是乱序
s3 = {1, 2, 2, 3, 4}    # 创建存储数字的集合,但是数字存在重复
s4 = {'123456'}     # 创建字符的集合
s5 = {1, 2, 3, '4', '56', False}    # 创建存储不同数据类型的数据的集合
s6 = {}     # 创建空集合

# 输出结果
print(f's1 = {s1}')
print(f's2 = {s2}')
print(f's3 = {s3}')
print(f's4 = {s4}')
print(f's5 = {s5}')
print(f's6 = {s6}')

运行之后的结果:

s1 = {1, 2, 3, 4, 5}
s2 = {1, 2, 3, 4, 5}
s3 = {1, 2, 3, 4}
s4 = {'123456'}
s5 = {False, 1, 2, 3, '56', '4'}
s6 = {}

1.2、使用关键字创建集合

在python中可以使用关键字set()创建集合。注意:使用set()创建集合时只能创建空的集合或者括号内添加一个字符串。当括号内添加有字符串时创建的为将字符串拆分为单个字符后创建的集合,并且字符是乱序排列的。
语法:

变量名 = set()

在python中的应用:

s1 = set("123456")      # 在括号内添加了字符串
s2 = set()  # 创建空集合

# 输出结果
print(f's1 = {s2}')
print(f's2 = {s1}')

运行之后的结果:

s1 = {'6', '3', '5', '4', '1', '2'}
s2 = set()

2、集合中添加数据

在python中向集合中添加数据使用的是add()、update()两种方法。注意:使用add()方法添加数据时是添加的单个数据,update()方法添加数据是添加一个序列。

2.1、add()方法添加数据

add()方法:向集合中添加数据,如果集合中存在需要添加的数据,则不做任何操作。注意:使用add()方法添加数据时,一次只能添加一个数据,并且数据类型不能是列表、集合、字典。
语法:

变量名.add(需要添加的数据)

在python中的应用:

s1 = {1, 2, 3, 4, 5}	# 创建一个集合
print(f's1 = {s1}')		# 输出原集合

# 使用add()方法添加数据
s1.add(5)   # 添加s1中存在的数据
print(f's1 = {s1}')	
s1.add(6)   # 添加s1中不存在的数据
print(f's1 = {s1}')
s1.add('7, 8')   # 添加s1中不存在的数据,添加的是字符串
print(f's1 = {s1}')

运行之后的结果:

s1 = {1, 2, 3, 4, 5}
s1 = {1, 2, 3, 4, 5}
s1 = {1, 2, 3, 4, 5, 6}
s1 = {1, 2, 3, 4, 5, 6, '7, 8'}

2.2、update()方法添加数据

update()方法:向集合中添加数据。如果数据存在,则不会被添加到集合中。注意:添加的数据是一个序列,可以同时添加多个数据,添加数据的数据类型可以为元组、列表、集合。添加的数据为字符串时会拆分为单个字符然后添加到集合中。
语法:

变量名.update(数据)

在python中的应用:

s2 = {'a', 'b', 'c', 'd'}   # 创建集合
print(f's2 = {s2}') # 输出原集合
# 使用update()方法向集合中添加数据
s2.update('d', 'e')     # 添加多个数据
print(f's2 = {s2}')
s2.update(('f', 'g'))   # 添加元祖类型的数据
print(f's2 = {s2}')
s2.update(['h', 'i'])   # 添加列表类型的数据
print(f's2 = {s2}')
s2.update({'j', 'k'})   # 添加集合类型的数据
print(f's2 = {s2}')
s2.update('imn', 'opq')     # 添加字符串类型的数据
print(f's2 = {s2}')

运行之后的结果:

s2 = {'c', 'a', 'd', 'b'}
s2 = {'e', 'c', 'b', 'a', 'd'}
s2 = {'e', 'c', 'f', 'g', 'b', 'a', 'd'}
s2 = {'e', 'c', 'f', 'h', 'g', 'b', 'i', 'a', 'd'}
s2 = {'k', 'e', 'c', 'f', 'h', 'g', 'b', 'i', 'a', 'j', 'd'}
s2 = {'k', 'm', 'q', 'e', 'c', 'n', 'f', 'h', 'g', 'o', 'b', 'p', 'i', 'a', 'j', 'd'}

3、集合中删除数据

在python中集合删除数据的方法有remove()方法、discard()方法、pop()方法。

3.1、remove()方法删除数据

remove()方法:删除集合中指定的数据,如果需要删除的数据不存在会报错。注意:remove()方法是通过数据来指定集合中需要删除的数据。当集合中存在元组时,不能只删除元组中的某一个数据,需要将元组全部删除,否则会报错。
语法:

变量名.remove(需要删除的数据)

在python中的应用:

s1 = {1, 2, 3, (4, 5)}
print(f's1 = {s1}')     # 输出原集合
# 使用remove()方法删除数据
s1.remove(3)
print(f's1 = {s1}')
# s1.remove(4)  # 会报错
# print(f's1 = {s1}')
s1.remove((4, 5))	# 删除元组
print(f's1 = {s1}')

运行之后的结果:

s1 = {(4, 5), 1, 2, 3}
s1 = {(4, 5), 1, 2}
s1 = {1, 2}

3.2、discard()方法删除数据

discard()方法:删除集合中指定的数据,如果需要删除的数据不存在不会报错。注意:discard()方法是通过数据来删除集合中的数据。
语法:

变量名.discard(需要删除的数据)

在python中的应用:

s2 = {'a', 'b', 'c', 'd'}   # 创建集合
print(f's2 = {s2}') # 输出原集合
# 使用discard()方法删除数据
s2.discard('a')   # 当数据存在时
print(f's2 = {s2}')
s2.discard(7)   # 当数据不存在时,运行不会报错
print(f's2 = {s2}')

运行之后的结果:

s2 = {'c', 'd', 'a', 'b'}
s2 = {'c', 'd', 'b'}
s2 = {'c', 'd', 'b'}

3.3、pop()方法删除数据

pop()方法:随机删除集合中的数据,并且将被删除的数据返回。
语法:

被删除的数据 = 变量名.pop()

在python中的应用:

s3 = {1, 2, 3, 4, 5}   # 创建集合
print(f's3 = {s3}')  # 输出原集合
# 使用pop()方法删除数据
p1 = s3.pop()
print(f's3 = {s3}')
print(f'p1 = {p1}')

运行之后的结果:

s3 = {1, 2, 3, 4, 5}
s3 = {2, 3, 4, 5}
p1 = 1

4、集合中查找数据

集合中查找数据使用的是in 和 not in关键字。
in:判断数据是否在集合中,如果存在返回True,不存在返回False。
not in:判断数据是否在集合中,如果存在返回False, 不存在返回True。
语法:

需要查找的数据 in 集合名称 		# in的使用
需要查找的数据 not in 集合名称		# not in的使用

在python中的应用:

s1 = {1, 2, 3, 4, 5}   # 创建集合
print(f's1 = {s1}')  # 输出原集合
# 数据查找
# in的使用
print(f'3在s1中:{3 in s1}')
print(f'7在s1中:{7 in s1}')
# not in的使用
print(f'3不在s1中:{3 not in s1}')
print(f'7不在s1中:{7 not in s1}')

运行之后的结果:

s1 = {1, 2, 3, 4, 5}
3在s1中:True
7在s1中:False
3不在s1中:False
7不在s1中:True

你可能感兴趣的:(python,集合)