Python学习笔记——字典

Python学习笔记——字典(程序都自己运行体会了)

本博客为读书笔记,参考以下网站及书籍。
参考网站:http://www.runoob.com/python3/python3-tutorial.html
参考书目:《Python编程从入门到实践》作者【美】Eric Matthes 袁国忠 译
书籍PDF下载:链接:https://pan.baidu.com/s/16ao_vfGI30IKsXNpsuQ2EA 密码:wg4a

主要内容:

在本章中, 你将学习能够将相关信息关联起来的Python字典。 你将学习如何访问和修改字典中的信息。 鉴于字典可存储的信息量几乎不受限制, 因此我们会演示如何遍历字典中的数据。 另外, 你还将学习存储字典的列表、 存储列表的字典和存储字典的字典。

理解字典后, 你就能够更准确地为各种真实物体建模。 你可以创建一个表示人的字典, 然后想在其中存储多少信息就存储多少信息: 姓名、 年龄、 地址、 职业以及要描述的任何方面。 你还能够存储任意两种相关的信息, 如一系列单词及其含义, 一系列人名及其喜欢的数字, 以及一系列山脉及其海拔等

我感觉字典有点类似于C语言的结构体或者C++里面的类,都想表示一个对象的不同特征,当然自己对python才刚开始了解,可能不对。

专业解释:

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:


dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

一个简单的字典

来看一个游戏, 其中包含一些外星人, 这些外星人的颜色和点数各不相同。 下面是一个简单的字典, 存储了有关特定外星人的信息:
alien.py

alien_0 = {'color': 'green', 'points': 5}
print(alien_0['color'])
print(alien_0['points'])

字典alien_0 存储了外星人的颜色和点数。 使用两条print 语句来访问并打印这些信息, 如下所示:

green
5

与大多数编程概念一样, 要熟练使用字典, 也需要一段时间的练习。 使用字典一段时间后, 你就会明白为何它们能够高效地模拟现实世界中的情形。

使用字典

在Python中, 字典 是一系列键——值对 。 每个键 都与一个值相关联, 你可以使用键来访问与之相关联的值。 与键相关联的值可以是数字、 字符串、 列表乃至字典。 事实上, 可将任何Python对象用作字典中的值。
在Python中, 字典用放在花括号{} 中的一系列键—值对表示, 如前面的示例所示:

alien_0 = {'color': 'green', 'points': 5}

键——值 对是两个相关联的值。 指定键时, Python将返回与之相关联的值。 键和值之间用冒号分隔, 而键——值对之间用逗号分隔。 在字典中, 你想存储多少个键—值对都可以。
最简单的字典只有一个键——值对, 如下述修改后的字典alien_0 所示:

alien_0 = {'color': 'green'}

这个字典只存储了一项有关alien_0 的信息, 具体地说是这个外星人的颜色。 在这个字典中, 字符串’color’ 是一个键, 与之相关联的值为’green’ 。

访问字典中的值

要获取与键相关联的值, 可依次指定字典名和放在方括号内的键, 如下所示:

alien_0 = {'color': 'green'}
print(alien_0['color'])

这将返回字典alien_0 中与键’color’ 相关联的值:

green

字典中可包含任意数量的键—值对。 例如, 下面是最初的字典alien_0 , 其中包含两个键—值对:

alien_0 = {'color': 'green', 'points': 5}

现在, 你可以访问外星人alien_0 的颜色和点数。 如果玩家射杀了这个外星人, 你就可以使用下面的代码来确定玩家应获得多少个点:

alien_0 = {'color': 'green', 'points': 5}
❶ new_points = alien_0['points']
❷ print("You just earned " + str(new_points) + " points!")

上述代码首先定义了一个字典, 然后从这个字典中获取与键’points’ 相关联的值(见❶) , 并将这个值存储在变量new_points 中。 接下来, 将这个整数转换为字符串, 并打印一条消息, 指出玩家获得了多少个点(见❷) :

You just earned 5 points!

如果你在有外星人被射杀时都运行这段代码, 就会获取该外星人的点数。

字典内置函数&方法

Python字典包含了以下内置函数:

1、 len(dict)

计算字典元素个数,即键的总数。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
len(dict)

输出

3

2、 str(dict)

输出字典,以可打印的字符串表示。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
str(dict)

输出:

"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

3、 type(variable)

返回输入的变量类型,如果变量是字典就返回字典类型。

dict = {'Name': 'Runoob', 'Age': 7, 'Class': 'First'}
 type(dict)

输出


Python字典包含了以下内置方法:

  • 1 radiansdict.clear()
    删除字典内所有元素

  • 2 radiansdict.copy()
    返回一个字典的浅复制

  • 3 radiansdict.fromkeys()
    创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

  • 4 radiansdict.get(key, default=None)
    返回指定键的值,如果值不在字典中返回default值

  • 5 key in dict
    如果键在字典dict里返回true,否则返回false

  • 6 radiansdict.items()
    以列表返回可遍历的(键, 值) 元组数组

  • 7 radiansdict.keys()
    返回一个迭代器,可以使用 list() 来转换为列表

  • 8 radiansdict.setdefault(key, default=None)
    和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

  • 9 radiansdict.update(dict2)
    把字典dict2的键/值对更新到dict里

  • 10 radiansdict.values()
    返回一个迭代器,可以使用 list() 来转换为列表

  • 11 pop(key[,default])
    删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。

  • 12 popitem()
    随机返回并删除字典中的一对键和值(一般删除末尾对)。

你可能感兴趣的:(Python)