字典

102 阅读1分钟

一.概念

1.无序可变序列
2.形式{键:值}
3.优点

  • 字典在内部维护的哈希表使得检索操作非常快
  • 不太在乎元素内部的先后顺序

4.键值必须可哈希(不可变),不允许重复

adict={'name':'liuzun','sex':'nan','name':'zhangjiayou'}
print(adict)    #输出结果:{'name': 'zhangjiayou', 'sex': 'nan'},liuzun被覆盖了

二.字典的创建与删除

1.创建

  • aDict={"name" : "liuzun","sex" : "nan"}
  • dict(zip(keys,values)
  • dict.fromkeys(['name','age','sex'])

2.删除

del直接删除字典

三.字典元素的访问

  • 根据键值访问:aDict['name']
  • get()方法访问:aDict.get('sex',元素不存在的返回值)
  • setdefault()方法,返回键对应的值,如果元素不存在就增加这个元素,并设置对应键的值 aDict.setdefault(键)或aDict.setdefault(键,值)

遍历

  • 遍历键和值 for item in aDict.items()
  • 遍历键 for item in aDict.keys()/aDict
  • 遍历值 for item in aDict.values()

四.字典元素的添加修改与删除

1.添加与修改

  • aDict['age']=39,若键值对存在表示修改,若不存在则表示添加
  • update()方法:合并两个字典若存在相同键,则以添加键的值为主
adict={'name':'liuzun','sex':'nan'}
bdict={'name':'张嘉佑','age':20}
adict.update(bdict)
print(adict)    #{'name': '张嘉佑', 'sex': 'nan', 'age': 20}

2.删除

  • del aDict['age']
  • pop():弹出指定键的值
  • popitem():弹出最后一个键对应的值
adict={'name':'liuzun','sex':'nan'}
bdict={'name':'张嘉佑','age':20}
adict.update(bdict)
print(adict)
print(adict.pop('age'))
print(adict.popitem())