列表 | 元组 | 集合 | 字典 | |
英文 | list | tuple | set | dict |
定义 | 定义[],数据之间使用,分割 | 定义(),数据之间用,分割 | 定义用 {} 或 set() | 字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割 |
是否可读写 | 读写 | 只读 | 读写 | 读写 |
可否重复 | 是 | 是 | 否 | 是 |
数据类型 | 任意类型对象 | 任意类型对象 | 任意类型对象 | 任意类型对象 |
存储方式 | 值 | 值 | 键(不能重复) | 键值对(键不能重复) |
是否有序 | 有序 | 有序 | 无序 | 无序,自动正序 |
初始化 | [1,'a'] | (1,'a') | {1,2} | {'a':1,'b':'kk'} |
空值的定义 | [] 或者 list() | ()或 tuple() | set() | {}或者dict() |
支持的操作 | 索引,切片,合同,删除,修改 | 索引 | S | T 并 S - T 差 S & T 交 S ^ T 补 S <= T 或 S < T S >= T 或 S > T S |= T 并 S &= T 交 S ^= T 补 |
增、删、改、查
|
读取 | 通过偏移读取 | 通过偏移读取 | S.pop()随机返回S的一个元素,更新S,若S为空产生KeyError异常 | 通过键而不是偏移量来读取 查 get(),setdefault(),has_key() 通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value
|
添加 | append(object)函数 向列表中追加据, 会把添加的数据放在列表中的最后一个位置 insert(index,object)函数 向列表中插入一条数据 extend(iterable)函数 可以将另外一个列表中的数据添加到该表中 iterable:可迭代对象 列表、字符串、字典、元组 |
不能修改 | S.add(x) 如果x不在集合S中,将x增加到S | d['sex'] = 'man' |
修改 | 列表[索引]=数据 classname[1]='new' index(object:数据, start:开始搜索的位置,stop:结束搜索的位置) |
不能修改 | 集合元素不可更改 | d['Age'] = 8; |
删除 | pop删除末尾元素 classname.pop() pop删除指定元素pop(i) classname.pop(1)
使用remove(object)函数,根据数据内容删除 要删除的内容必须在列表中,否则会报错 移除列表中所有的数据
|
不能修改 | S.discard(x)移除S中元素x,如果x不在集合S中,不报错 S.remove(x)移除S中元素x,如果x不在集合S中,产生KeyError异常 S.clear()移除S中所有元素 |
删 pop() del dict['Name']; # 删除键是'Name'的条目 |
排序 | 升序 列表.sort() 降序 列表.sort(reverse=True) 倒序,反转 列表.reverse() |
不能修改 | 无 | 无 |
统计 | len(列表) 列表的长度 列表.count(数据) 数据在列表中出现的次数 |
len(元组) 元组的长度 列表.count(数据) 数据在元组中出现的次数 |
len(S)返回集合S的元素个数 |
|
应用场景 | 1、列表存储相同类型的数据 针对列表中的每一项元素,执行相同的操作 1.查找和插入的时间随着元素的增加而增加 |
1、函数的参数和返回值,一个函数可以接收任意多个参数,一次返回多个数据 1.比列表操作速度快 |
包含关系比较 x in S 判断S中元素x, x在集合S中,返回True,否则返回False x not in s 数据去重:集合类型所有元素无重复 set(x)将其他类型变量x转变为集合类型 |
zip函数可以实现两个类别组合成字典 1.查找和插入的速度极快,不会随着key的增加而增加 |
序列 : 序列是一个基类类型 可以衍生为字符串类型、元组类型、列表类型
通用操作符: x in s 如果x是序列s的元素,返回True,否则返回False
x not in s 如果x是序列s的元素,返回False,否则返回True
s + t 连接两个序列s和t
s*n 或 n*s 将序列s复制n次
s[i] 索引,返回s中的第i个元素, i是序列的序号
s[i: j] 或 s[i: j: k] 切片,返回序列s中第i到j以k为步长的元素子序列
通用方法和函数: len(s) 返回序列s的长度,即元素个数
min(s) 返回序列s的最小元素, s中元素需要可比较
max(s) 返回序列s的最大元素, s中元素需要可比较
s.index(x) 或
s.index(x, i, j) 返回序列s从i开始到j位置中第一次出现元素x的位置
s.count(x) 返回序列s中出现x的总次数
如有疑问或者不对的地方,欢迎留言评论