Python入门系列20-Python内置数据结构之字典

字典是Python另一种常用的数据结构,在某些编程方面,字典的作用会比列表更方便,比如想利用某一种数据结构来表示一个人的基本信心。我想字典是最适合不过的数据类型了,虽然利用列表也可以实现,但是会比较麻烦,毕竟学会高效地处理问题是程序员最基本要求之一。

在其他高级编程语言中,Python的字典会被称为不同的名字,比如在C++和Java中,字典数据结构称为“映射”,而在Perl和Ruby中,则把它叫做散列。其实无论它有多少个称呼,都是表示一样的数据结构。

Python中字典是存储一堆键值对的数据结构,并且键和值之间用冒号(:)分开,每对键值对用逗号分开,,一个键对应一个值,值可以是任何的数据结构。

{
  键1 : 值1,
  键2 : 值2,
  键3 : 值3,
  键4 : 值4,
  键5 : 值5,
}

上面就是Python字典的大致形式,可以看成是两列多行的数据结构,列分别表示键部分和值部分,行则表示为一个个键值对,也可能一行都没有,则表示一个空字典。

Python字典的键部分通常是用一个字符串来表示,并且这个字符串都有实际的意义。比如我想利用字典来存储想爬取的网页url,我可以给键起一个看起来就一目了然的名字。

url = {
'baidu': 'http://www.baidu.com',
'google': 'http://www.google.com',
'douban': 'http://www.douban.com',
'python': 'http://www.python.org',
}

再比如,如果在编程中需要一种数据结构来保存一个人的基本信息(姓名,性别,身高,电话等等),利用字典在合适不过了。

person = {
'name': 'xxx',
'gender': 'male' or 'female',
'height': 178,
'tel': xxx-xxxx-xxxx,
}

获取字典的值也很简单,与列表一样,可以使用中括号法。但是在中括号中并不是使用索引值来获取值,而是通过键来访问相关联的值。

>>> url = {   # 定义一个字典数据结构
'baidu': 'http://www.baidu.com',
'google': 'http://www.google.com',
'douban': 'http://www.douban.com',
'python': 'http://www.python.org',
}
>>> url
{'baidu': 'http://www.baidu.com',
 'google': 'http://www.google.com',
 'douban': 'http://www.douban.com',
 'python': 'http://www.python.org'}
>>> url['baidu']  #通过键获取对应的值
'http://www.baidu.com'

相关文章

python容器之字典详解

字典与列表类似,也是可变序列,不过不同的是字典是无序的可变序列,它的元素是通过键值对的形式存放的,键是唯一的,值是可变的。字典的主要特征:通过键而不是通过索引来访问字典是无序的可变序列字典是可变的,而...

Python 中字典的鲜为人知的用法

1. 添加列表作为字典的键_dict = {} _list = [1, 2, 3] _dict[_list] = 'Added' Output - _dict[_list] = 'A...

简析python中的字典

一、字典1、字典是键值对类型:dict{key:value}#key值唯一>>> dict1 = {1:'a',2:'b'}>>> type(dict1)#查看类型...

Python 基础教程五之Python3 字典

前言字典是另一种可变容器模型,且可存储任意类型对象。字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:d =...

Python快速入门教程:字典

一、字典简介字典(dictionary)是Python中非常重要的数据结构,它是一个无序的键值对集合。每个键与一个值关联,键必须是不可变类型(如字符串、数字或元组),而值可以是任意类型。创建字典使用花...