一、集合:
1.集合是多个元素的无序组合,用{}表示,用”,”分隔
2.集合元素之间无序,每个元素唯一,不存在相同元素(同数学中的集合)
3.集合元素不可修改(由于唯一性)
4.建立集合类型用{}或set(),建立空集合类型,必须用set()
5.s.add(x)指当x不在集合s中,将x添加到s中
6.s.remove(x)指移除s中的x元素
7.s.clear()指移除s中的所有元素
8.集合最强应用:数据去重!!!(eg.代码查重等)
二、序列类型是基类类型(包括字符串类型,元组类型,列表类型,即序列的所有操作在元组、列表、字符串中均可使用)
1. 5种操作符:
(1)x in s #如果x是序列s的元素,返回true,否则返回false
(2)s + t #链接两个序列s和t
(3)s*n或n*s #将序列s复制n次
(4)s[i] #索引,返回s中的第i个元素,i是序列的序号
(5)s[i:j]或s[i:j:k] #切片,返回序列s中第i到j以k为步长的元素子序列
2. 5个函数和方法:
(1)len(s) #返回序列s的长度
(2)min(s) #返回最小元素
(3)max(s) #返回最大元素
(4)s.index(x)或者s.index(x,i,j) #返回序列s从i开始到j位置中第一次出现元素x的位置
(5)s.count(x) #返回序列s中出现的x次数
三、元组:
1.元组一旦被创建就无法修改,用”,”分隔,使用()或tuple()创建
2.元组有序
3.实际应用:可将列表转换元组,用于保护数据(不可改变型)
四、列表:
1.创建后随意被修改,使用[]或list()创建,用”,”分隔
2.基本操作方法:
ls[i] = x #替换列表ls第i个元素为x
ls[i:j:k] = lt #用列表lt替换ls切片后所对应元素子列表
del ls[i] #删除列表ls中的第i个元素
Del ls[i:j:k] #删除列表ls中第i到第j以k为步长的元素
ls += lt #更新列表ls,将列表lt增加到ls中
Ls *= n #更新列表ls,其元素重复n次
ls.append(x) #在列表ls最后增加一个元素x
ls.clear() #删除ls列表所有元素
ls.copy() #生成一个新列表,赋值ls中的所有元素
ls.insert(i,x) #在列表ls的第i位置元素取出并增加该元素
ls.pop(i) #将列表ls中第i个位置元素取出并删除该元素
ls.remove(x) #将列表ls中出现的第一个元素x删除
ls.reverse() #将列表ls中的元素反转
五、字典:
1.学习字典之前,理解什么叫映射?映射是一种键(索引)和值(数据)的对应,eg.颜色(键):红色(值)
2.字典是“映射”的体现:
(1)键值对:可理解键是数据索引的拓展
(2)字典是键值对的集合,键值对之间无序
(3)采用大括号{}和dict()创建,键值对用冒号表示
eg. {<键1>: <值1>, <键2>: <值2>,......<键n>:<值n>}
3.键(索引):在序列类型中由0...n整数作为数据的默认索引,在字典中不同,eg. >>>d = {“中国”: ”北京”, “美国”: “华盛顿”}
>>>d[“中国”]
‘北京’
3.基本方法:
(1)del d[k] #删除字典d中键k对应的数据值
(2)k in d #判断键k是否在字典d中,如果在返回true
(3)d.keys() #返回字典d中所有键信息
(4)d.values() #返回所有值信息
(5)d.items() #返回所有键值对信息
(6)d.get(k,<default>) #键k存在,则返回相应值,不在则返回
<default>值 (非常重要!!)
eg.>>>d = {“中国”: ”北京”, “美国”: “华盛顿”}
>>>d.get(“中国”, ”伊斯兰堡”)
‘北京’
>>>d.get(“巴基斯坦”, “伊斯兰堡”)
‘伊斯兰堡’
(7)d.pop(k,<default>) #键k存在,则取出相应值,不在则返回
<default>值
(8)d.popitem() #随机从字典中取出一个键值对,以元组形式返回
4.字典的作用:表达键值对的数据,进而操作它们,eg.可用来统计数据出现的