1. 集合
1.1 集合简介
集合表现形式 set集合和列表⾮常相似
- 不同点:
- 集合只能存储不可变对象
#存储不可变对象
s={
[1,2,3],[4,5,6]}
print(s,type(s))$TypeError: unhashable type: 'list'
- 集合中存储的对象是⽆序的
#存储对象是无序的
s={
1,5,3,4}
print(s,type(s))#{1, 3, 4, 5} <class 'set'>
- 集合不能出现重复元素
#集合中不能出现重复的元素
s={
1,5,3,4,4,4,4}
print(s,type(s))#{1, 3, 4, 5} <class 'set'>
- 使⽤{}来创建集合
#创建集合{}
s={
1,2,3,4}
print(s,type(s))#{1, 2, 3, 4} <class 'set'>
注意:
s={
}
print(s,type(s)) #{} <class 'dict'>字典
- 可以通过set()来将序列和字典转换成集合
s=set()
print(s,type(s))#set() <class 'set'>
#可以通过序列转化为集合
s=set([1,2,3,4,5,12,3,1])
print(s,type(s))#{1, 2, 3, 4, 5, 12} <class 'set'>
s=set('python')
print(s,type(s))#{'h', 't', 'y', 'n', 'p', 'o'} <class 'set'>
s=set({
'a':1,'b':2}) #使用set()函数将字典转化为集合,只包括字典的键key
print(s,type(s))#{'b', 'a'} <class 'set'>
#索引
# s={'a','b',1,2,3}
# print(s[0])#TypeError: 'set' object does not support indexing
s={
'b','a',1,2,3}
print(list(s)[1])#1(一般不一样)
- len() 使⽤len()来获取集合中元素的数量
# 创建一个集合
s = {
'a','b',1,2,3}
#in 和 not in来检查集合中的元素
print('b' in s) #True
#
# # len() 获取集合的长度或者元素的数量
print(len(s)) #5
- add()像集合中添加元素
# 创建一个集合
s = {
'a','b',1,2,3}
# # add() 向集合中添加元素
s.add(20)
print(s)#{1, 2, 3, 'a', 20, 'b'}
s.add(50)
print(s)#{1, 2, 3, 'a', 50, 20, 'b'}
- update()将⼀个集合中的元素添加到另⼀个集合当中
s = {
'a','b',1,2,3}
s2 = set('hello')
#
s.update(s2)
print(s)#{1, 2, 3, 'l', 'e', 'o', 'h', 'a', 'b'}
#
- pop()随机删除集合中的⼀个元素⼀般是删除最后⼀个元素
s = {
'a','b',1,2,3}
#pop() 随机删除集合中的一个元素 返回值(删除的元素)
result = s.pop()
print(result)#1
- remove() 删除集合中指定的元素
s = {
'a','b',1,2,3}
s.remove(2)
print(s)#{1, 'b', 3, 'a'}
- clear() 清空集合
s = {
'a','b'