集合:是set类型
定义:通过{}来表示
集合添加和删除元素(了解即可):
添加:add
删除:remove
集合的特性:
1.集合的元素是无序的 (打印出来的结果是无序的,毫无顺序可言),所以不存在下标取值和切片
2.集合中只能存在不可变类型的数据
3.集合中的元素不重复,(和高中数学里面的集合是一样的)
注意点:字典{}中是键值对的形式,集合和列表、元组一样,只有值
一、集合
集合:是set类型
定义:通过{}来表示
# 判断,这是空字典还是空集合? set1 = {} print(type(set1)) # 打印结果,这是属于字典类型,说明是空字典 # 需求1,那空集合怎么来定义? set2 = set() # 定义一个空集合 print(type(set2)) # 打印结果# 集合中添加元素 add set3 = {11, 22, 33, 44} set3.add(99) print(set3) # 元素99已添加进去 {33, 99, 11, 44, 22} 排序是无序的 # 集合中删除元素 remove set4 = {55, 66, 77, 88} set4.remove(66) print(set4) # 元素66已删除 {88, 77, 55} 排序是无序的 # 需求-->快速去除列表中重复的元素 # 思路:先将列表[]转换为{}set集合,再用列表[]转换回去 li = [11, 22, 33, 55, 44, 22, 33, 55, 88, 11, 44, 99, 44] print(set(li)) # 打印结果为 {33, 99, 11, 44, 22, 55, 88} print(list(set(li))) # [33, 99, 11, 44, 22, 55, 88]
二、数据类型总结
基本的数据类型:
数值:int,float,bool
序列:列表,字符串,元组 (这些可进行切片)
字典
元组
可变的(可增删查改的):列表、字典、集合
不可变的: 数值、字符串、元组、
集合中只能存在不可变类型的数据
如果集合中包含了[]、{}等类型,会报错
set1 = {11, 22, 'hello', 'python'} print(set1) # 打印结果 {'python', 11, 'hello', 22} set2 = {11, 22, 'hello', 'python', [11, 22]} # 加入了列表 print(set2) # 报错了 TypeError: unhashable type: 'list' 说明集合中不能加入列表、字典等可变类型的数据