Python基础入门-字典
今天我们来看一下Python中字典的一些常用用法。
关于字典的学习,我们应该了解字典定义及区别与其他数据结构的特点、字典常用操作方法。
好,废话不多说,继续搞事情!
1.字典定义
字典是花括号包围,元素以键值对的形式存在的且元素之间用冒号分隔得可变得数据结构之一。也是一个唯一具有映射关系的数据结构。关键词:键值对、花括号、可变、序列之一。
2.字典特点
-
1.无序
-
2.可变
-
3.当有重复键产生默认保留最后一个
-
4.通过键来访问值
3.字典常用操作方法
-
1.创建、访问、修改、删除
-
2.keys()
-
3.values()
-
4.items()
-
5.pop()
-
6.popitems()
-
7.update()
-
8.get()
-
9.setdefault()
-
10.zip()
1)创建、访问、修改、删除
创建字典:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic
输出结果:
{'salary': 1500, 'age': 15, 'telphone': 8888, 'name': 'zhangshan', 'address': 'bejing'}
访问字典中的值:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic['name']
print dic['age']
输出结果如下:
zhangshan
15
删除字典中的键:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
del dic['name']
print dic
输出结果如下:
{'salary': 1500, 'age': 15, 'telphone': 8888, 'address': 'bejing'}
修改字典中的值:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
dic['name'] = 'john'
print dic
输出结果如下:
{'salary': 1500, 'age': 15, 'telphone': 8888, 'name': 'john', 'address': 'bejing'}
2)获取字典中所有的键keys
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.keys()
输出结果:
['salary', 'age', 'telphone', 'name', 'address']
3)获取字典中所有的值values
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.values()
输出结果如下:
[1500, 15, 8888, 'zhangshan', 'bejing']
4)将字典中的键和值以元组的形式返回items
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.items()
输出结果:
[('salary', 1500), ('age', 15), ('telphone', 8888), ('name', 'zhangshan'), ('address', 'bejing')]
5)字典中的get用法
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.get('name') 根据现有的键访问键对应的值
print dic.get('interest','NOT FONUD') 访问不存的键自定义提示信息
输出结果:
zhangshan
NOT FONUD
6)字典中的setdefault用法
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.setdefault('name') #根据键获取对应的值
dic.setdefault('interest','paly') #追加新键以及对应的值
print dic #打印看结果
dic.setdefault('home') #设置新键,键对应的值为None
print dic #查看设置新建的结果
输出结果如下:
zhangshan
{'salary': 1500, 'name': 'zhangshan', 'age': 15, 'telphone': 8888, 'interest': 'paly', 'address': 'bejing'}
{'salary': 1500, 'name': 'zhangshan', 'age': 15, 'telphone': 8888, 'interest': 'paly', 'address': 'bejing', 'home': None}
7)判断元素是否在字典中in not in
dic = {'name':{'age':115},
'class':{'home':'beijing'},
'address':{'from':'shenzhen'},
'tel':1323232}
print 'name' in dic 判断name键是否在dic中
print 'age' in dic['name'] 判断age键是否在dic中
print 'class' in dic 判断class是否在dic中
print 'from' not in dic 判断from键是否在dic中
如果在,返回True,否则False ,最后的输出结果是:
True
True
True
True
8)字典中的pop和popitems用法
pop里面只能放一个参数看,这个参数就是现有字典的键,不能不放。
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.pop('name') pop是弹出指定的键并删除
print dic 重新输出dic结果
返回的结果如下:
zhangshan 弹出name键对应的值并且连同键一起删除
{'salary': 1500, 'age': 15, 'telphone': 8888, 'address': 'bejing'}
看看popitems的用法:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.popitem() #popitem函数随机弹出任意键并且删除
print dic
print dic.popitem()
print dic
返回结果如下:
('salary', 1500)
{'age': 15, 'telphone': 8888, 'name': 'zhangshan', 'address': 'bejing'}
('age', 15)
{'telphone': 8888, 'name': 'zhangshan', 'address': 'bejing'}
注意:popitem函数不跟参数,否则报错:
dic={'name':'zhangshan',
'age':15,
'address':'bejing',
'telphone':8888,
'salary':1500}
print dic.popitem(1) #popitem函数随机弹出任意键并且删除
print dic.popitem('name')
print dic
报错信息如下:
File "E:/Project_case/demo.py", line 31, in <module>
print dic.popitem(1) #popitem函数随机弹出任意键并且删除
TypeError: popitem() takes no arguments (1 given)
9)补充:字典中当有重复键产生时,默认保留最后一个键
dic={'name':'zhangshan','age':15,'address':'bejing','telphone':8888,'salary':1500,'name':'wangwu'}
输出结果:
{'salary': 1500, 'age': 15, 'telphone': 8888, 'name': 'wangwu', 'address': 'bejing'}
10)字典中的键不可变,所以可变对象不可以做字典的键,否则报错
可变对象:列表、字典、集合
不可变对象:字符串、元祖、常量(数字)
dic={[]:123,{}:456}
dic1={"name":'zhangshan',345:444}
dic2={(1,2,3):'name','age':23}
print dic 报错
print dic1 可以运行
print dic2 可以运行
11)字典中的update用法
dic={'gender': 'man', 'age': 150, 'from': 'beijing'}
print dic
dic1={} #定义空字典
dic1.update(dic) #更新dic内容到dic1
print dic1
输出结果:
{'gender': 'man', 'age': 150, 'from': 'beijing'}
{'gender': 'man', 'age': 150, 'from': 'beijing'}
12)字典中的zip函数用法
zip函数可以将可迭代的对象通过元祖的形式返回,存储在列表中,和items的用法类似。
list = [22,33,44,55,66]
list2 =['python','java','php','ruby','javascript']
demo = zip(list,list2)
print demo
输出结果如下:
[(22, 'python'), (33, 'java'), (44, 'php'), (55, 'ruby'), (66, 'javascript')]
我们在对比下items的实现方式:
dic={'oracle':99,'linux':66,'python':70,'selenium':100}
print dic.items()
输出结果如下:
[('oracle', 99), ('python', 70), ('selenium', 100), ('linux', 66)]
是不是一样的呢?OK,关于字典的一些常用方法,我们暂时介绍到这里。
将喜欢的一切留在身边,这便是努力的意义。

浙公网安备 33010602011771号