1 集合
1.1 什么是集合
- 什么是集合?ANS:集合set是一个无序的不重复元素序列
- 集合怎么表示?ANS: {} , 用逗号隔开
- 打印元组类型,type()
- 一个元素的集合怎么表示?:ANS:存储多种类型{"a", 1}
"""
集合"""
#集合表示方法:{}
#和字典相比,是没有key的my_set = {"xiaoming", "xiaohua","xiaoho"}
print(my_set)
print(len(my_set))-----结果----
{'xiaoming', 'xiaohua', 'xiaoho'}
3
1.2 集合操作
长度 len()
集合不是序列,没有顺序,没有key,没有索引和切片,和字符串一样
#有没有顺序:::没有顺序的!!!
#能不能去获取某一个值
#
print(my_set[0])-------------结果 -------------print(my_set[0])
TypeError: 'set' object is not subscriptable
1.3 可变类型,可以做增删
my_set = {"xiaoming", "xiaohua","xiaoho"}
#k可变 ====》 不可变???
##添加,删除
print(my_set.add("uuu"))
print(my_set)
print(my_set.update("iii123"))
print(my_set)
print(my_set.pop()) #随机删除
print(my_set)
print(my_set.remove())#没有,报错
print(my_set.discard())#没有,报错---------------结果---------
None
{'xiaoho', 'uuu', 'xiaoming', 'xiaohua'}
None
{'3', 'i', 'xiaoho', 'xiaoming', 'xiaohua', '1', '2', 'uuu'}
3
{'i', 'xiaoho', 'xiaoming', 'xiaohua', '1', '2', 'uuu'}print(my_set.remove())#没有,报错
TypeError: set.remove() takes exactly one argument (0 given)
1.4 集合的主要作用
#集合主要的作用
#是为了去除重复元素
#c重复的元素会覆盖掉保存最新的
my_set = {"xiaoming", "xiaohua","xiaoming","xiaoho", "owei", "dl","xiaoho"}
print(my_set)#列表中存在重复的数据,怎么剔除重复的数据
#先转换为集合再转换为列表
#面试题,一般思路都是想到用for循环,也可以用下列方法
my_list = ["xiaoming", "xiaohua","xiaoming","xiaoho", "owei", "dl","xiaoho"]
print(list(set(my_list)))-----------------结果----------------
{'xiaoming', 'xiaohua', 'dl', 'xiaoho', 'owei'}
['xiaoming', 'owei', 'dl', 'xiaoho', 'xiaohua']