Python语言入门学习系列——Python字典
小标 2018-09-20 来源 : 阅读 904 评论 0

摘要:本文主要向大家介绍了Python语言入门学习系列——Python字典,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言入门学习系列——Python字典,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

Python 字典
在Python中,字典是一系列键值对。每个键都与一个值相关联,可以使用键来访问与之相关联的值。与键相关联的值可以是任何值,包括数字、字符串、列表、字典等其他任何Python对象。
Python中字典的使用和Javascript中的json对象特别的类似。
  字典的创建
在创建一个字典时,字典的键和值之间用冒号分割,每一组键-值对之间用逗号分割,整个键值对放在花括号的内部,形式如下:
dic={'key1':'value1','key2':'value2'}
例如:
>>> mydic={'name':'小明','age':18,'sex':'男'}
也可以直接创建一个空字典:
>>>mydic={}
  访问字典中的值
要获取字典的值,需要指定字典名和放在方括号内的键,形式如下:
dic['key']
例如获取字典中的name值:
>>> mydic['name']
'小明'
  为字典添加值或修改值
要为字典添加键值对或修改字典中的值,需要指定字典名、用方括号括起的键和相关联的新值。形式如下:
dic['new_key']='new_value'
例如为字典添加mail信息:
#为字典添加新值
>>> mydic['mail']='xiaoming@163.com'
>>> print(mydic)
{'name': '小明', 'age': 18, 'sex': '男', 'mail': 'xiaoming@163.com'}
#修改字典中的值
>>> mydic['name']='小华'
>>> print(mydic)
{'name': '小华', 'age': 18, 'sex': '男', 'mail': 'xiaoming@163.com'}
注意:键值对的排列顺序并不总是 与添加顺序相同。
  删除字典中的值
使用del语句删除字典中的值,需要指定字典名 和要删除的键。形式如下:
del dic_name['key']
例如删除字典中的mail信息:
>>> del mydic['mail']
>>> print(mydic)
{'name': '小华', 'age': 18, 'sex': '男'}
  遍历字典
遍历字典采用的是for循环语句,具体有以下几种形式。
遍历所有的键值对
需要调用字典的items()函数,该函数返回一个键值对列表,然后对该列表进行遍历,分别声明两个变量用来存储键值对中的键和值,代码如下:
>>> for k,v in mydic.items():
...     print('k:'+str(k)+'\t v:'+str(v))
... 
k:name   v:小华
k:age    v:18
k:sex    v:男
>>> 
由于遍历的过程中得到值为18,因此需要调用str()函数进行非字符串的转换。
遍历字典中的所有键
使用字典的key()函数获取所有的键组成的列表,然后遍历该列表,代码如下:
>>> for k in mydic.keys():
...     print(k)
... 
name
age
sex
>>> 
在遍历字典时,会默认遍历所有的键,因此即使不显式的调用key()函数,结果仍然不变,如下:
>>> for k in mydic:
...     print(k)
... 
name
age
sex
>>> 
如果想要按顺序遍历字典中所有的键,可以使用sorted()函数对获取的键列表进行排序后再遍历:
>>> for k in sorted(mydic):
...     print(k)
... 
age
name
sex
>>> 
遍历字典中所有值
使用values()函数获取字典的所有值组成的列表,该列表不包含任何键,然后使用for循环遍历该值列表,代码如下:
>>> for v in mydic.values():
...     print(v)
... 
小华
18

>>> 
如果需要对获取的值列表进行去重,可以调用set()函数,它将返回一个所有元素都不是重复的set集合。
>>> dic={'name1':'小明','name2':'小明','name3':'小华'}
>>> print(set(dic.values()))
{'小明', '小华'}
>>> for v in set(dic.values()):
...     print(v)
... 
小明
小华
>>> 
  字典嵌套
字典嵌套的意思就是字典中存储列表,或列表中存储字典,或字典中存储字典。
字典列表
列表中存储一系列的字典。
>>> dic1={'name':'小明','age':18,'sex':'男'}
>>> dic2={'name':'小芳','age':15,'sex':'女'}
>>> dic3={'name':'小米','age':25,'sex':'男'}
>>> diclist=[dic1,dic2,dic3]
>>> print(diclist)
[{'name': '小明', 'age': 18, 'sex': '男'}, {'name': '小芳', 'age': 15, 'sex': '女'}, {'name': '小米', 'age': 25, 'sex': '男'}]
>>> for dic in diclist:
...     print(dic)
... 
{'name': '小明', 'age': 18, 'sex': '男'}
{'name': '小芳', 'age': 15, 'sex': '女'}
{'name': '小米', 'age': 25, 'sex': '男'}
>>> 
字典中存储列表
>>> dic= {
...     'name':'编程语言',
...     'type':['python','c#','java']
...     }
... 
>>> for t in dic['type']:
...     print(t)
... 
python
c#
java
>>> 
字典中存储字典
>>> mydic={
...     'student':{
...         'stuname':'小明','stuage':18
...         },
...     'class':{
...         'classname':'一班','teacher':'陈老师'
...         }
...     }
... 
>>> for k,v in mydic.items():
...     for lk ,lv in v.items():
...         print(lk+'\t'+str(lv))
... 
stuname 小明
stuage  18
classname   一班
teacher 陈老师
>>> 
通过以上的学习不难发现,Python字典的操作和json对象操作几乎是一模一样,如果你对json对象操作很熟悉的话,相信你会很快掌握Python字典的相关用法。
本文后续会随着知识的积累不断补充和更新,内容如有错误,欢迎指正。

以上就介绍了Python的相关知识,希望对Python有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程