1.集合----无序
1⃣️空集合 set()
注意,直接定义一个空的{},不是集合,是空字典
2⃣️集合是无序的,没有key,
3⃣️集合的最常见的应用:对list去重
下面对集合的基本操作进行举例说明:
#空集合的定义,() s = set()
##1.集合对list去重 li = [1,2,3,4,54,3,2,1,3,5,3,2,3] print(list(set(li))) #output:[1, 2, 3, 4, 5, 54] ##2.集合是可变的,添加元素add s = {2,3,4} s.add(5) print(s) #output:{2, 3, 4, 5} ##3.集合元素的删除ermove s2 = {1,2,3,4,5} s2.remove(3) print(s2) #output:{1, 2, 4, 5} ##4.更新集合update,一次可以更新多个元素,类似list的extend s3 = {3,4,5,6,7,8,9,0} s4 = {0,1,2} s3.update(s4) print(s3) #output:{0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ##5.复制copy s5 = {1,3,5,7} s55 = s5.copy() print(s55) #output:{1, 3, 5, 7} ##6.清空clear() s6 = {2,4,6,8} s6.clear() print(s6) # set()
2.字典
1⃣️{key:value}表示,key是固定不可变的。
字典详细介绍,见我另一篇博文:https://www.cnblogs.com/ananmy/p/12748491.html
3.字典、元组的存储
1⃣️首先要知道,字典和元组的实现原理是一样的,都是存储在列表中的,唯一不同的是hash函数操作的对象不一样;
字典:hash函数操作的是它的key,存储在2个list中,一个存key,一个存value,实现dict的方式,叫做hash Map/Table,(Map表示通过key来寻找value的过程)
集合:hash函数直接操作它的元素,存储在一个list中,实现set的方式叫做hash set
2⃣️
创建一个字典时,python会分配2个list进行存储,字典的key通过hash函数得到一个值,这个值除以python分配的列表的长度,得到的余数,作为下标,会把value存储在该下标的list中,key存储在另一个list中对应的下标位置。-----存储过程是无序的,散列表