一、队列、堆栈
队列:先进先出FIFO
出队:用列表模拟:l.pop(0)
堆栈:后进先出
出栈:用列表模拟:l.pop()
二、元组 tuple() 不可变的列表,可以放不同类型的值,也可以嵌套,是不可表类型
当定义一个元组,并且只有一个元素时,一定要在元素后面加一个逗号,否则小括号就是包含的意思,不是在定义元组,比如:(88),此时类型type((88))就是int,而(88,),此时类型type((88,))就是tuple。
如果嵌套了列表、字典的容器变量,是可以修改i容器类变量的值的,只要变量的内存地址不变即可。
类型转换:字符串、列表、字典均可以转换为元组。tuple(字符串)
元组的内置方法:
索引取值、切片、统计长度、成员运算、循环
三、字典 dict()功能
key值是唯一的,如果存在重复只会取一个,字典的key值是不可变类型,字典可以为不存在的key赋值,就是增加key和值;字典是无序的
造字典的方式:(1)直接用大括号{}定义 (2)使用dict()直接传值进去,比如:dict({'name':'zhangsan ','age':18}) (3)利用key=value的方式传入,比如dict(a=1,b=2,c=3) (4).fromkeys(列表变量,key对应的值)方法,比如:a={}.fromkeys(keys,None)
可以把可迭代类型转换为字典,但可迭代类型的变量的元素必须成对存在,这样才可以组成键值对。
1、基本操作
按key取值、改值,如果key不存在会直接报错;可以直接通过赋值增加值:dic[key] = value
.get(key)获取值,此种方法如果key不存在会返回none,不会报错。
删除:
del方法:del dic[key]
.pop()方法: dic.pop(key) 返回对应的值
popitem()方法: 删除并返回字典最后一个键值对的键和值,是一个元组。
clear()方法:dic.clear() 清空所有的值
长度统计:len(dic) 统计键值对的个数
in和not in:是判断某一个key存不存在字典里,而不是判断值
2、内置方法
(1)keys:获取字典所有的key
dic.keys():python2返回的是列表,python3返回的是迭代器,利于数据太多时不用占用太多内存
(2)values:获取字典所有的value
dic.values():python2返回的是列表,python3返回的是迭代器
(3)items:获取字典所有的键值对
dic.items():python2返回的是元组列表,python3返回的是迭代器
(4)update:更新
dic.update(字典变量) :老字典存在的值就会被更新,不存在的值就会增加到老字典
(5)setdefault:设置默认值,字典本身有值就返回这个值,如果没有就返回设置的默认值
dic.setdefult(key,vlaue),vlaue可以不写,默认是none。



