在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
对于许多Python初学者来讲,数据结构中的字典是一个不容易理解的概念。字典作为一种容器型数据结构,它也可以算得上是最有用的容器。下面是小编整理的相关学习笔记,让我们一起来好好地学习有关于字典的语法知识吧~

1、字典的概念
在Python 中,字典这种数据类型的英文叫做 “dict”,有的语言里它的名称是 “hash”。字典是编程中最常用的数据结构之一。它是用来做映射或者存储你需要的键值对,这样当你需要的时候,你可以通过key来获取它的值。同样,程序员不会使用一个像“字典”这样的术语,来称呼那些不能像一个写满词汇的真实字典正常使用的事物,所以我们只要把它当做真实世界中的字典来用就好。
2、字典与列表的区别
针对列表你可以做这样的事情:
>>> things = ['a', 'b', 'c', 'd']
>>> print things[1]
b >>> things[1] =
'
z'
>>> print things[1]
z >>> things
['a', 'z', 'c', 'd']
你可以使用数字作为列表的索引,也就是你可以通过数字找到列表中的元素。你现在应该了解列表的这些特性,而你也应了解,你也只能通过数字来获取列表中的元素。而 dict是让你可以通过任何东西找到元素,不只是数字。是的,字典可以将一个物件和另外一个东西关联,不管它们的类型是什么,我们来看看:
>>> stuff = {'name': 'Zed', 'age': 39, 'height': 6 * 12 + 2}
>>> print stuff['name']
Zed
>>> print stuff['age']
39
>>> print stuff['height']
74
>>> stuff['city'] = "San Francisco"
>>> print stuff['city']
San Francisco
3、字典的使用
除了通过数字以外,我们还可以用字符串来从字典中获取 stuff ,我们还可以用字符串来往字典中添加元素。当然它支持的不只有字符串,我们还可以做这样的事情:
>>> stuff[1] = "Wow"
>>> stuff[2] = "Neato"
>>> print stuff[1]
Wow
>>> print stuff[2]
Neato
>>> stuff
{'city': 'San Francisco', 2: 'Neato', 'name': 'Zed', 1: 'Wow', 'age': 39, 'height': 74
}
这段代码中,使用了数字,当打印stuff的时候,不止有数字还有字符串作为字典的key。当然了,一个只能放东西进去的字典是没啥意思的,所以我们还要有删除的方法,也就是使用del这个关键字:
>>> del stuff['city']
>>> del stuff[1]
>>> del stuff[2]
>>> stuff
{'name': 'Zed', 'age': 36, 'height': 74}
4、实例练习
# create a mapping of state to abbreviation
states = {
'Oregon': 'OR',
'Florida': 'FL',
'California': 'CA',
'New York': 'NY',
'Michigan': 'MI'
}
# create a basic set of states and some cities in them
cities = {
'CA': 'San Francisco',
'MI': 'Detroit',
'FL': 'Jacksonville'
}
# add some more cities
cities['NY'] = 'New York'
cities['OR'] = 'Portland'
# print out some cities
print '-' * 10
print "NY State has: ", cities['NY']
print "OR State has: ", cities['OR']
# print some states
print '-' * 10
print "Michigan's abbreviation is: ", states['Michigan']
print "Florida's abbreviation is: ", states['Florida']
# do it by using the state then cities dict
print '-' * 10
print "Michigan has: ", cities[states['Michigan']]
print "Florida has: ", cities[states['Florida']]
# print every state abbreviation
print '-' * 10
for state, abbrev in states.items():
print "%s is abbreviated %s" % (state, abbrev)
# print every city in state
print '-' * 10
for abbrev, city in cities.items():
print "%s has the city %s" % (abbrev, city)
# now do both at the same time
print '-' * 10
for state, abbrev in states.items():
print "%s state is abbreviated %s and has city %s" % (
state, abbrev, cities[abbrev])
print '-' * 10
# safely get a abbreviation by state that might not be there
state = states.get('Texas')
if not state:
print "Sorry, no Texas."
# get a city with a default value
city = cities.get('TX', 'Does Not Exist')
print "The city for the state 'TX' is: %s" % city
你看到的结果:
$ python ex39.py
----------
NY State has: New York
OR State has: Portland
----------
Michigan's abbreviation is: MI
Florida's abbreviation is: FL
----------
Michigan has: Detroit
Florida has: Jacksonville
----------
California is abbreviated CA
Michigan is abbreviated MI
New York is abbreviated NY
Florida is abbreviated FL
Oregon is abbreviated OR
----------
FL has the city Jacksonville
CA has the city San Francisco
MI has the city Detroit
OR has the city Portland
NY has the city New York
----------
California state is abbreviated CA and has city San Francisco
Michigan state is abbreviated MI and has city Detroit
New York state is abbreviated NY and has city New York
Florida state is abbreviated FL and has city Jacksonville
Oregon state is abbreviated OR and has city Portland
----------
Sorry, no Texas.
The city for the state 'TX' is: Does Not Exist
以上就是Python数据结构之字典的学习笔记,大家都理解了吗?事实上,当你需要通过一个值来访问另一个值的时候,就可以使用字典。关于字典的内容就到这里了,欢迎大家关注博学谷资讯栏目,我们将每天更新Python的学习内容~
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
零基础入门Python常见问题分享
零基础入门Python常见问题有哪些?作为经常混迹在各大Python技术论坛的小编而言,见到最多的话题就是:学习Python难不难?零基础可以学习Python吗?如何学习Python?等等。今天小编就以过来人的身份为大家分享一下这些常见的Python入门问题。
7081
2019-10-31 18:42:16
学Python为什么要掌握Linux?
Python作为新手友好的开发语言,近年来风头强劲,无论是不断扩大的开发应用领域,还是就本身的语言优势而言,都吸引了不少的学习者。对于刚刚入门Python不久的朋友来说,相信都会有这样的疑问,学Python为什么要掌握Linux?确实Python支持Windows系统,但是学习Linux认识刚需。具体原因分析如下:
8758
2019-11-24 18:52:11
Python编程在线学习难不难?
Python编程在线学习难不难?其实Python对于编程零基础的初学者来说,已经是十分简单易学的编程语言了,尤其比起C语言和Java这样的编程语言,它的学习难度要小得多。至于许多人担心线上学不好Python,就要看大家怎么学了。如果只是随便在网上东找一点,西找一点免费的学习资料,学再久也难免抓不住重点。这里建议大家了解一下博学谷的Python在线就业班的课程,能够带给大家更完善的线上教学服务。
7236
2020-05-26 10:27:02
CSS显示特性display属性的使用介绍
CSS显示特性display属性的使用介绍,display属性规定元素应该生成的框的类型,我们需要学习并掌握标签隐藏设置。
7345
2021-12-08 15:02:04
mkdir和rm命令选项基础知识学习分享
mkdir和rm命令选项基础知识学习分享,创建嵌套文件夹使用“mkdir –p”嵌套目录;删除空目录使用“rmdir目录名”或者“rm–d目录名”;删除非空目录使用 “rm–r目录名”
5364
2022-03-02 16:22:47
