网站首页 > 基础教程 正文
字典是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'
猜你喜欢
- 2025-01-07 Python从入门到放弃-详解列表、元组和字典
- 2025-01-07 python 中字典如何进行复制
- 2025-01-07 python入门023:字典嵌套
- 2025-01-07 掌握Python字典的12个例子
- 2025-01-07 使用Python 获取多级字典(Json)格式所有Key、Value
- 2025-01-07 简单学Python——字典的操作1(增加、更改和删除字典元素)
- 2025-01-07 Python之容器拾遗:Python就是包裹在一堆语法糖中的字典
- 2025-01-07 深入了解python字典的有序特性
- 2025-01-07 如何在 Python 中以列表形式返回字典的键
- 2025-01-07 解锁Python字典合并:多种方法解析
- 01-09Oracle数据库面试题汇总
- 01-09Oracle AWR解析-Report Summary
- 01-09想要成为数据分析师,这些Excel必备知识点你得掌握
- 01-09java开发中常用Oracle函数实例总结比较,当真不少
- 01-09DriveWorks其实是这么回事
- 01-09EXCEL做数据分析,学会这些就入门了
- 01-09一场pandas与SQL的巅峰大战(六)
- 01-09Oracle数据库知识 day01 Oracle介绍和增删改查
- 最近发表
- 标签列表
-
- gitpush (61)
- pythonif (68)
- location.href (57)
- tail-f (57)
- pythonifelse (59)
- deletesql (62)
- c++模板 (62)
- css3动画 (57)
- c#event (59)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- exec命令 (59)
- canvasfilltext (58)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- node教程 (59)
- console.table (62)
- c++time_t (58)
- phpcookie (58)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)