Python中字典的基本知识初步介绍
admin
2023-07-31 02:30:13
0

 字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值。

Python字典也被称为关联数组或哈希表。字典的一般语法如下:

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

可以用下面的方式创建字典:

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

每个按键都来自它的值用冒号(:),该项目以逗号分隔,整个事情是包含在大括号分隔。没有任何项目一个空的字典是写只有两个大括号,就像这样:{}

键在一个字典中是唯一的,而值可能不是。字典的值可以是任何类型的,但键必须是不可变的数据类型,例如字符串,数字,或元组。
访问字典的值:

要访问字典元素,您可以使用熟悉的方括号一起的关键,获得它的值。下面是一个简单的例子:

#!/usr/bin/python

dict = {\'Name\': \'Zara\', \'Age\': 7, \'Class\': \'First\'};

print \"dict[\'Name\']: \", dict[\'Name\'];
print \"dict[\'Age\']: \", dict[\'Age\'];

当执行上面的代码中,产生以下结果:

dict[\'Name\']: Zara
dict[\'Age\']: 7

如果要访问一个不存在的键,这会得到一个错误,如下所示:

#!/usr/bin/python

dict = {\'Name\': \'Zara\', \'Age\': 7, \'Class\': \'First\'};

print \"dict[\'Alice\']: \", dict[\'Alice\'];

当执行上面的代码,产生以下结果:

dict[\'Zara\']:
Traceback (most recent call last):
 File \"test.py\", line 4, in 
  print \"dict[\'Alice\']: \", dict[\'Alice\'];
KeyError: \'Alice\'

更新字典:

可以通过添加一个新条目或项目(即一个键 – 值对),修改现有条目或删除。作为简单的例子,如下图所示在现有条目更新字词:

#!/usr/bin/python

dict = {\'Name\': \'Zara\', \'Age\': 7, \'Class\': \'First\'};

dict[\'Age\'] = 8; # update existing entry
dict[\'School\'] = \"DPS School\"; # Add new entry


print \"dict[\'Age\']: \", dict[\'Age\'];
print \"dict[\'School\']: \", dict[\'School\'];

当执行上面的代码,产生以下结果:

dict[\'Age\']: 8
dict[\'School\']: DPS School

删除字典元素:

可以删除单个字典元素或清除字典中的全部内容。也可以删除整个字典在一个单一的操作。

要删除整个字典,只要用del语句。下面是一个简单的例子:

#!/usr/bin/python

dict = {\'Name\': \'Zara\', \'Age\': 7, \'Class\': \'First\'};

del dict[\'Name\']; # remove entry with key \'Name\'
dict.clear();   # remove all entries in dict
del dict ;    # delete entire dictionary

print \"dict[\'Age\']: \", dict[\'Age\'];
print \"dict[\'School\']: \", dict[\'School\'];

这将产生以下结果。注意引发异常,这是因为经过del dict删除,字典已经不存在了:

dict[\'Age\']:
Traceback (most recent call last):
 File \"test.py\", line 8, in 
  print \"dict[\'Age\']: \", dict[\'Age\'];
TypeError: \'type\' object is unsubscriptable

注:del()方法会在后续的章节中讨论。
字典的键的属性:

字典值没有限制。它们可以是任意Python对象,无论是标准的对象或用户定义的对象。但是作为键,是不可以这样的。

要记住字典中的键的两个要点:

(一)不准一个键对应多个条目。这意味着不能有重复的键。当有重复的键,在分配过程中以最后分配的为准。下面是一个简单的例子:

#!/usr/bin/python

dict = {\'Name\': \'Zara\', \'Age\': 7, \'Name\': \'Manni\'};

print \"dict[\'Name\']: \", dict[\'Name\'];

当执行上面的代码,产生以下结果:

dict[\'Name\']: Manni

(二)键的值字必须是不可变的。这意味着可以使用字符串,数字或元组作为字典的键,但像[\’key\’]是不允许的。下面是一个简单的例子:

#!/usr/bin/python

dict = {[\'Name\']: \'Zara\', \'Age\': 7};

print \"dict[\'Name\']: \", dict[\'Name\'];

当执行上面的代码,产生以下结果:

Traceback (most recent call last):
 File \"test.py\", line 3, in 
  dict = {[\'Name\']: \'Zara\', \'Age\': 7};
TypeError: list objects are unhashable

相关内容

热门资讯

500 行 Python 代码... 语法分析器描述了一个句子的语法结构,用来帮助其他的应用进行推理。自然语言引入了很多意外的歧义,以我们...
定时清理删除C:\Progra... C:\Program Files (x86)下面很多scoped_dir开头的文件夹 写个批处理 定...
65536是2的几次方 计算2... 65536是2的16次方:65536=2⁶ 65536是256的2次方:65536=256 6553...
Mobi、epub格式电子书如... 在wps里全局设置里有一个文件关联,打开,勾选电子书文件选项就可以了。
scoped_dir32_70... 一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program...
pycparser 是一个用... `pycparser` 是一个用 Python 编写的 C 语言解析器。它可以用来解析 C 代码并构...
小程序支付时提示:appid和... [Q]小程序支付时提示:appid和mch_id不匹配 [A]小程序和微信支付没有进行关联,访问“小...
微信小程序使用slider实现... 众所周知哈,微信小程序里面的音频播放是没有进度条的,但最近有个项目呢,客户要求音频要有进度条控制,所...
python绘图库Matplo... 本文简单介绍了Python绘图库Matplotlib的安装,简介如下: matplotlib是pyt...
Prometheus+Graf... 一,Prometheus概述 1,什么是Prometheus?Prometheus是最初在Sound...