概述
列表这种数据结构适合于将值组织到一个结构中,并且通过编号对其进行引用。
在本文中,将学习一种通过名字来引用值的数据结构,这种类型的数据结构称为映射(mapping)。字典是Python中唯一内建的映射类型。字典中的值并没有特殊的顺序,但是都是存储在一个特定的键(Key)下。键可以是数字、字符串甚至是元组。
构造字典的目的:可以通过轻松查找某个特定的词语(键),从而找到它的定义(值)。
某些情况下,字典比列表更实用:
1.表示一个游戏棋盘的状态,每个键都是由坐标值组成的元组;
2.存储文件修改时间,用文件名作为键
3.数字电话/地址薄
创建和使用字典
字典可以通过下面的方式创建:
phonebook={'Alice':'1234','Beth':'3454','Cecil':'3478'}
字典由多个键及其对应的值构成的键-值(项)对组成。
dict函数
可以用dict函数,通过其他映射(比如其他字典)或者(键,值)对的序列建立字典。
d=[('name','zhangsan'),('age','22')]#通过列表序列来创建字典
a=dict(d)
print(a)
q=dict(name='shhh',age='62')#dict也可以通过关键字参数来创建字典
print(q)
输出:
{'name': 'zhangsan', 'age': '22'}
{'name': 'shhh', 'age': '62'}
基本字典操作
代码示例:
#一个简单的数据库
#字典使用人名作为键,每个人用另一个字典表示,其键'phone'和'addr'分别表示他们的电话号码和地址
people={
'Alice':{
'phone':'12344',
'addr':'shenyang'
},
'Beth':{
'phone':'23244',
'addr':'shanghai'
},
'Cecil':{
'phone':'24688',
'addr':'beijing'
}
}
#针对电话号和地址使用的描述性标签,会在打印时用到
labels={
'phone':'phone number'
,'addr':'address'
}
name=input('Name: ' )
#查找电话号码还是地址
request=input('Phone number (p) or Address (a)?')
#使用正确的键:
if request =='p':key='phone'
if request =='a':key='addr'
#如果名字是字典中的有效键才打印信息
if name in people:
print("%s's %s is %s." % (name,labels[key],people[name][key]))#格式化字典中的字符串
输出:
Name: Beth
Phone number (p) or Address (a)?a
Beth's address is shanghai.
%字符;标记转换说明符的开始。后面的转换表达式用圆括号括起来。
最后
以上就是粗暴奇异果为你收集整理的python数据结构之字典的全部内容,希望文章能够帮你解决python数据结构之字典所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复