课前准备:序列都有什么?
字符串、列表、元组
序列可以通过索引取值
字典dict={key:value,}由建和值组成,key必须为不可变类型(字符串、数字、元组),value可以为任何类型。
特点:a。比列表速度快
b。字典是无序存储的
c。字典不能用索引取(基于b)
那么字典如何遍历呢
for key,value in dict1.itmes():
空空空空print key,value
函数:
items()(遍历)
eg:dict1.items()
取出的数据都是元组类型,key键值不变,value可变
del[](删除)
eg:del dict1[1]
删除键值为1的对应的值
%s占位,输出字符串(可以接收所有类型)
先占位再传值
eg:%s占位%random。randint(1,100)
插入一个随机整数值
copy()(拷贝)
eg:dict3=dict2.copy()
字典3复制字典2的内容
复制的内存地址不一样一个变另一个不会变
eg:dict3=dict2
赋值内存地址一样一个变另一个就变
get()
eg:dict1.get(“2”,0)
判断有没有2的key对应的value值没有返回0,有直接返回value
has_key()
eg:dict1.has _key(1)
判断有没有key1对应的键值有返回true,没有返回false
dict1.keys()
查询dict1中所有的key值
dict1.values()
查询dict1中所有values的值
popitem()
取出字典中的条目,把该条目从字典中删除
eg:dict1.popitem()随即弹出一个键值对并删除
update()(合并字典)
把update后面的字典合并到update前面的字典中
eg:dict4.update(dict5)
把字典5的键值对合并到字典4中,如果key值相同字典5的覆盖字典4的
fromkeys
给key赋值如果不传的话values默认为none,传的的话values为传入的值
eg:s=[1,2,3,4,5,"w"]
dict3=dict.fromkeys(s,)
dict3中所有key取之s对应的value值都为赋成none
dict3=dict.fromkeys(s,1)
dict3中所有key取之s对应的value值都为赋成1
setdefault()
查询key对应的value值,如果有该key值打印value,如果没有该key值新增此键值对并打印value值
eg:
clear()清空
eg:清空字典所有内容
dict3.clear()