1.集合(set) 的定义
集合(set)是一个无序不重复元素的序列
可以使用大括号{ }或者set( )函数创建集合
创建一个空集合是用set([ ]),而不是set{ },用set{ }来创建他是一个dict字典类型
2.集合的创建
3.集合的特性
集合没有索引、切片、重复、连接的特性,集合只有成员操作符、迭代循环遍历、枚举的特性
4.集合常用的一些方法
集合里面添加元素,因为集合是无序的,所以添加的元素位置也是无序的
集合的弹出pop
集合元素的删除remove
交集、并集、差集
集合的超级/子集
如果一个集合包含另一个集合的所有元素,且还有其他元素,就说这个集合是另一个集合的超级,或者另一个集合是此集合的子集。
集合的相交
5.集合的应用及测试题
集合可以用于元素去重
题干:
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性。
他先用计算机生成了N个1~1000之间的随机整数(N<=1000),N是用户输入的,对于其中重复的数字,只保留一个,把其余相同的数字去掉,不同的数对应着不同的学生的学号,然后再把这些数从小到大排序,按照排好的顺序去找同学做调查,请你协助明明完成“去重”与排序工作。
6.字典dict
先看一下以前的zip
字典的定义:
字典的每个键(key)值(value)用冒号隔开,构成一个键值队,每个键值对之间用逗号隔开,分隔,整个字典包含在一个花括号{ }中。
格式所示:d = {key1:vaule1,key2:vaule2}
注:键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
字典是一个无序的数据集合,通常输出的顺序和定义的顺序不一致
字典的创建:
字典就是键值对
字典里面嵌套字典:
字典的特性
不支持索引,切片,重复和连接没有意义,因为key是固定的,不能说一个key对应多个值。支持成员操作符和for循环迭代。
字典的增add
字典的删除del
注意:pop弹出时键时,若变量中没有这个键则pop直接报错
字典的查看look
练习题
题干:
数字重复统计:
1)随机生成1000个整数;
2)数字的范围[20,100],
3)升序输出所有不同的数字及其每个数字重复的次数