容器解析
在python中有官方提供的以下几种容器
一.list–列表
1.定义:是一种有序的集合,可以随时添加和删除其中的元素用索引来访问list中每一个位置的元素,记得索引是从0开始的:当索引超出了范围时,Python会报一个IndexError错误,所以,要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,list[-1]直接获取最后一个元素。
2.列表的常见方法:
[ ‘append’, ‘clear’, ‘copy’, ‘count’, ‘extend’, ‘index’, ‘insert’,‘pop’, ‘remove’, ‘reverse’, ‘sort’]
|-- append(元素) # 在列表尾部追加一个元素
|-- insert(索引位置, 元素) # 在特定的位置,添加元素
|-- clear() # 清除列表
|-- count(element) # 统计元素出现的次数
|-- index(element) # 查询元素首次出现索引,如果不存在,则抛出异常
|-- remove(element) # 通过元素移除对应的元素
|-- pop([index]) # 默认删除最后一个元素,如果指定了位置,则删除对应位置的元素
|-- reverse() # 翻转列表顺序
|-- copy() # 浅拷贝对象(堆对象的复制)
|-- extend(可迭代对象) # 合并列表
|-- sort() # 排序
二.tuple–元组
1.定义:元组是一种不可变的数据类型。元组中的元素不允许被修改和改变。其他获取元素的方法和list是一样的,但不能赋值成另外的元素。
2.常见方法:
|-- count # 统计元素个数
|-- index # 查询元素所在的索引
三.set–集合
1.定义:集合中可以存储任意类型的数据,集合中不会出现重复的数据,也是python提供的一种容器,特点就是:无序、元素不能重复
2.常用方法:
[‘add’, ‘clear’, ‘copy’, ‘difference’, ‘difference_update’, ‘discard’, ‘intersection’, ‘intersection_update’, ‘isdisjoint’, ‘issubset’, ‘issuperset’, ‘pop’, ‘remove’, ‘symmetric_difference’, ‘symmetric_difference_update’, ‘union’, ‘update’]
|-- add(元素) # 添加
|-- clear #删除元素
|-- copy #复制元素
|-- remove # 通过元素本身移除,如果元素不存在,则抛出异常
|-- discard # 通过元素本身移除,如果元素不存在,则什么都不做
|-- pop() # 随机移除元素
|-- intersection # 交集
|-- union # 并集
|-- difference # 差集
|-- update # 合并集合
注意:三种容器都可以使用对应的函数完成转换
四.dict–字典
1.定义:dictionary,是一种使用key-value键值对的结构存储数据,python中key不能重复,否则会覆盖数据,key的类型只能是字符串,value类型任意。字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号分割,每个键值对之间用逗号分割,整个字典包括在花括号 {} 中 ,格式如下所示:dict = {key1 : value1, key2 : value2 }
2.如何访问字典值:使用字典中的key获取key对应的值d[“name”] # 获取name对应的值,如果该key不存在,则抛出异常d.get(“age”) # 也可以使用get方法,如果key不存在,则返回None。
3.字典的常用方法:[‘clear’, ‘copy’, ‘fromkeys’, ‘get’, ‘items’, ‘keys’, ‘pop’, ‘popitem’, ‘setdefault’, ‘update’, ‘values’]
|-- clear #删除字典内所有元素
|-- copy #返回一个字典的浅复制
|-- fromkeys() # 将其他可迭代对象转换为字典
|-- get #返回指定键的值,如果值不在字典中返回default值(根据key取出值,若key不存在,返回默认值)
|-- items() # 迭代出每一个键值对[(),()]
|-- keys() #以列表返回一个字典所有的键(获取字典所有的key)
|-- value() #以列表返回字典中的所有值 (获取字典所有的value)
|-- setdefault() # 新增key和value
|-- update #把旧dict的键/值对更新到新dict里
|-- popitem # Pairs are returned in LIFO (last-in, first-out) order
|-- pop(key) # 通过key,删除key对应的键值对