集合 集合是不同元素的无序集合。与序列类型不同,集合是没有切片操作的 语法:set 集合最重要的功能就是去重 集合分可变集合和不可变集合 1)可变集合(set):集合里面的元素是可以发生变化,集合中可以动态的增加和删除。 2)不可变集合(frozenset):集合里面的元素是不可以发生变化 注意:集合中的元素是无序的,且集合后元素不重复
案例:
一、可变集合
new = [1,2,33,2,2,99,'test'] #列表中元素去重 yy = (set(new)) print (yy) #结果: set(['test', 1, 2, 99, 33])
一、去重情况:
(1)对列表数据重复的,进行去重
(2)对一个“字符串”进行去重
test = 'hello'
yy = set(test)
print(yy) # 结果: set(['h', 'e', 'l', 'o'])
二、update 添加集合的内容
第一种方法;
test = 'hello'
yy = set(test)
a=("1","88")
yy.update(a) #添加集合的内容
print (yy) # 结果:set(['e', 'h', 'l', 'o', '1', '88']
第二种方法:
test = 'hello'
yy = set(test)
yy.add('123')
print (yy) #结果:set(['h', '123', 'e', 'l', 'o'])注意结果是无序的
三、clear 清除集合种的内容
test = 'hello'
yy = set(test)
yy.clear() #清除集合中的内容
print (yy) # 结果:set() 空集合
四、pop 删除集合中的内容
讲解:pop()方法用于随机移除一个元素例如:set.pop()
备注:不带参数时一般是移除最后一位,但是我们这里删除的是第一位
test = 'hello'
yy = set(test)
yy.pop() #删除集合中的内容
print (yy) # 结果: set(['e', 'l', 'o'])
五、remove 删除指定的内容
a=(‘99’,‘88‘)
yy=set(a)
yy=remove(‘88’)
print (yy) #打印结果:{'99'}
六、复制集合
test = 'hello'
yy = set(test)
a=yy.copy()
print (a)
二、不可变集合
不可变集合 frozenset
第一种情况:对不可变集合进行添加,都是报错,只能复制
test = 'hello'
yy = frozenset(test)
yy.add('123') #AttributeError:
print (yy)
#打印结果:'frozenset' object has no attribute 'add'译文:'frozenset'对象没有属性'add'
第二中情况:对不可变集合进行删除
test = 'hello'
yy = frozenset(test)
yy.pop() #删除集合中的内容
print (yy) # 结果: AttributeError: 'frozenset' object has no attribute 'pop'
第三种情况:copy(只能对不可变集合复制,)
test = 'hello'
yy = frozenset(test)
a = yy.copy()
print (a) #显示结果:frozenset({'o', 'h', 'l', 'e'})