api序列:
- len 表示字典长度
- str 字典打印成字符串
- type 字典类型判断
- clear 清空字典
- copy 复制字典
- fromkeys 以序列作为key重新创建一个字典,value值为默认序列值
- get 返回指定key的value,如果key不存在,则返回默认值
- in 判断key是否存在,是则返回True,否则返回False
- items 返回可遍历的的元组,元组的元素为(key,value)形式
- keys 返回字典的所有key值
- setdefault 如果key存在,则返回其对应的value,否则将该key和默认值插入到字典中,并返回默认值
- update 更新字典(合并字典)
- values 返回字典里面所有的values
- 遍历字典 for(k,v) in 字典.items():
- 修改字典某一项 字典["key"] =value
- 删除字典的某一项 del 字典["key"]
测试:
#-*- coding: utf-8 -*-
#字典
#1、字典的创建
d1={"one":1,"two":2,"three":3}#字面量句法
d2=dict(one=1,two=2,three=3)
d3=dict([("one",1),("two",2),("three",3)])
d4=dict({"one":1,"two":2,"three":3})
d5=dict(zip(["one","two","three"],[1,2,3]))#zip并行解包
print(d1==d2==d3==d4==d5)#True
print(d1)
#2、python内置函数(len,type,str)
# 计算字典的长度
ss=len(d1)
print(ss)
#以字符方式输出字典,即将字典转换成字符串
ss1=str(d1)
print(ss1)
# 判断类型
ss2=type(d1)
print(ss2)
#清空字典
d5.clear()
print(d5)
#复制字典
d6=d4.copy()
print(d6)
#以序列作为kye创建一个新字典,value为所有键对应的初始值
dre={"name":"huitao","age":13}
tup=[1,2,3,4]
dre_n=dre.fromkeys(tup,"vale")
print(dre_n)
#返回指定key的value,如果key不存在,则返回默认值
vv=dre.get("name","呵呵")
#如果name不存在,则返回去(“呵呵”)
print(vv)
# in 判断key是否存在,是则返回True,否则返回False
res= "name" in dre
print(res)
#items 返回可遍历的的元组,元组的元素为(key,value)形式
sw=dre.items()
print(sw)
# keys 返回字典的所有key
keys=dre.keys()
print(keys)
#setdefault 如果key存在,则返回其对应的value,否则将该key和默认值插入到字典中,并返回默认值
sn=dre.setdefault("name","lala")
print(sn)
# update 更新字典(合并字典)
dre.update(d1)
print(dre)
# values,返回字典中所有的value
ny=dre.values()
print(ny)
#-----------------------------------遍历、修改、删除----------------------------
oop={"name":"huitao","age":13,"schoole":"shanghai"}
#遍历字典
#方法1
for(k,v) in oop.items():
print("%s,%s" %(k,v))
#方法2
for key in oop.keys():
print("%s,%s"%(key,oop[key]))
#修改字典
oop["schoole"]="shanbei"
print(oop)
#删除字典
del oop["schoole"]
print(oop)
总结:
- 字典的value可以存储任何类型Python对象,即可以是标准的类型,也可以是我们自定义的类型,但key不可以。
- 字典的key是唯一的,不可以重复
- 字典的key可以是数字、字符串甚至元组,但不可以用列表