python中的字典

字典

可变容器模型,可存储任意类型对象,无序

字典的每个对象是key:value存在,用大括号表示,例如{key1:value1,key2:value2},key的值是唯一的

 

访问字典里的值:

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京'}

print('姓名:',dict1['name'])#如果没有键会报错
print('年龄:',dict1.get('age'))#如果没有键,结果是None

输出:
姓名: mh
年龄: 28

修改字典:

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京'}

print('姓名:',dict1['name'])
print('年龄:',dict1['age'])
dict1['name']='mm'
dict1['age']= 29
print('姓名修改后:',dict1['name'])
print('年龄修改后:',dict1['age'])

输出:
姓名: mh
年龄: 28
姓名修改后: mm
年龄修改后: 29

删除字典元素,删除某个键值或删除整个字典

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京'}

del dict1['地址']
print(dict1)

输出:
{'name': 'mm', 'age': 29, 'sex': ''}
dict1 = {'name':'mh','age':28,'sex':'','地址':'北京'}


del dict1
print(dict1)

输出:
Traceback (most recent call last):
  File "/Users/mahong/Desktop/study/Auto_Python/day2/字典.py", line 14, in <module>
    print(dict1)
NameError: name 'dict1' is not defined

字典的特性,不允许一个键出现两次,如果出现,那么value取最后的值;键不可变

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}
print(dict1)

输出:
{'age': 28, '地址': '北京', 'name': 'mm', 'sex': ''}

字典的内置方法


删除字典内所有元素,清空字典dict.clear()

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}

dict1.clear()
print(dict1)

输出:
{}

返回指定的值,如果值不在字典中返回None dict.get('key','value'),value默认是空

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}

print(dict1.get('籍贯','河北')) #取指定的值,但是key('籍贯')不在字典中
print(dict1.get('民族'))#默认取None
print(dict1)

输出:
河北
None
{'name': 'mm', '地址': '北京', 'sex': '', 'age': 28}

keys(),values()转换成列表

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}


print(list(dict1.keys()))
print(list(dict1.values()))

输出:

['地址', 'sex', 'name', 'age']
['北京', '男', 'mm', 28]

删除字典给定键key所对应的值,返回被删除的值

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}

dict1['name1']='张三'

print(dict1.pop('name1'))

print(dict1)

输出:
张三
{'地址': '北京', 'sex': '', 'name': 'mm', 'age': 28}

 随机返回并删除字典中的最后一对键和值 popitem()

dict1 = {'name':'mh','age':28,'sex':'','地址':'北京','name':'mm'}

dict1['name1']='张三'
print(dict1.popitem())
print(dict1)

输出1:
('name1', '张三')
{'name': 'mm', '地址': '北京', 'sex': '', 'age': 28}


输出2:
('age', 28)
{'name1': '张三', '地址': '北京', 'sex': '', 'name': 'mm'}

 

 

 

 

posted @ 2019-09-16 11:28  小马哥007  阅读(207)  评论(0编辑  收藏  举报