首页 后端开发 Python教程 【python教程】Python 字典(Dictionary)

【python教程】Python 字典(Dictionary)

Dec 26, 2016 pm 05:50 PM
python 字典(dictionary)

Python 字典(Dictionary)

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

字典由键和对应值成对组成。字典也被称作关联数组或哈希表。基本语法如下:

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 <module>
    print "dict[&#39;Alice&#39;]: ", dict[&#39;Alice&#39;];
KeyError: &#39;Alice&#39;
登录后复制

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

#!/usr/bin/python
 
dict = {&#39;Name&#39;: &#39;Zara&#39;, &#39;Age&#39;: 7, &#39;Class&#39;: &#39;First&#39;};
 
dict[&#39;Age&#39;] = 8; # update existing entry
dict[&#39;School&#39;] = "DPS School"; # Add new entry
 
 
print "dict[&#39;Age&#39;]: ", dict[&#39;Age&#39;];
print "dict[&#39;School&#39;]: ", dict[&#39;School&#39;];
登录后复制

以上实例输出结果:

dict[&#39;Age&#39;]:  8
dict[&#39;School&#39;]:  DPS School
登录后复制

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

#!/usr/bin/python
 
dict = {&#39;Name&#39;: &#39;Zara&#39;, &#39;Age&#39;: 7, &#39;Class&#39;: &#39;First&#39;};
 
del dict[&#39;Name&#39;]; # 删除键是&#39;Name&#39;的条目
dict.clear();     # 清空词典所有条目
del dict ;        # 删除词典
 
print "dict[&#39;Age&#39;]: ", dict[&#39;Age&#39;];
print "dict[&#39;School&#39;]: ", dict[&#39;School&#39;];
登录后复制

但这会引发一个异常,因为用del后字典不再存在:

dict[&#39;Age&#39;]:
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print "dict[&#39;Age&#39;]: ", dict[&#39;Age&#39;];
TypeError: &#39;type&#39; object is unsubscriptable
登录后复制

注:del()方法后面也会讨论。

删除字典元素

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:


1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例

#!/usr/bin/python
 
dict = {&#39;Name&#39;: &#39;Zara&#39;, &#39;Age&#39;: 7, &#39;Name&#39;: &#39;Manni&#39;};
 
print "dict[&#39;Name&#39;]: ", dict[&#39;Name&#39;];
登录后复制

以上实例输出结果:

dict[&#39;Name&#39;]:  Manni
登录后复制

2)键必须不可变,所以可以用数,字符串或元组充当,所以用列表就不行,如下实例:

#!/usr/bin/python
 
dict = {[&#39;Name&#39;]: &#39;Zara&#39;, &#39;Age&#39;: 7};
 
print "dict[&#39;Name&#39;]: ", dict[&#39;Name&#39;];
登录后复制

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {[&#39;Name&#39;]: &#39;Zara&#39;, &#39;Age&#39;: 7};
TypeError: list objects are unhashable
登录后复制

字典内置函数&方法

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

序号

函数及描述

1    cmp(dict1, dict2)
比较两个字典元素。    

2    len(dict)
计算字典元素个数,即键的总数。    

3    str(dict)
输出字典可打印的字符串表示。    

4    type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。    

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

序号

函数及描述

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

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

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

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

5    radiansdict.has_key(key)
如果键在字典dict里返回true,否则返回false    

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

7    radiansdict.keys()
以列表返回一个字典所有的键    

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

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

10    radiansdict.values()
以列表返回字典中的所有值    

 以上就是【python教程】Python 字典(Dictionary)的内容,更多相关内容请关注PHP中文网(www.php.cn)!


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

手机XML转PDF,转换速度快吗? 手机XML转PDF,转换速度快吗? Apr 02, 2025 pm 10:09 PM

手机XML转PDF的速度取决于以下因素:XML结构的复杂性手机硬件配置转换方法(库、算法)代码质量优化手段(选择高效库、优化算法、缓存数据、利用多线程)总体而言,没有绝对的答案,需要根据具体情况进行优化。

怎么在手机上把XML文件转换为PDF? 怎么在手机上把XML文件转换为PDF? Apr 02, 2025 pm 10:12 PM

不可能直接在手机上用单一应用完成 XML 到 PDF 的转换。需要使用云端服务,通过两步走的方式实现:1. 在云端转换 XML 为 PDF,2. 在手机端访问或下载转换后的 PDF 文件。

C语言 sum 的作用是什么? C语言 sum 的作用是什么? Apr 03, 2025 pm 02:21 PM

C语言中没有内置求和函数,需自行编写。可通过遍历数组并累加元素实现求和:循环版本:使用for循环和数组长度计算求和。指针版本:使用指针指向数组元素,通过自增指针遍历高效求和。动态分配数组版本:动态分配数组并自行管理内存,确保释放已分配内存以防止内存泄漏。

有没有手机APP可以将XML转换成PDF? 有没有手机APP可以将XML转换成PDF? Apr 02, 2025 pm 09:45 PM

没有APP可以将所有XML文件转成PDF,因为XML结构灵活多样。XML转PDF的核心是将数据结构转换为页面布局,需要解析XML并生成PDF。常用的方法包括使用Python库(如ElementTree)解析XML,并利用ReportLab库生成PDF。对于复杂XML,可能需要使用XSLT转换结构。性能优化时,考虑使用多线程或多进程,并选择合适的库。

xml格式化工具推荐 xml格式化工具推荐 Apr 02, 2025 pm 09:03 PM

XML格式化工具可以将代码按照规则排版,提高可读性和理解性。选择工具时,要注意自定义能力、对特殊情况的处理、性能和易用性。常用的工具类型包括在线工具、IDE插件和命令行工具。

手机上如何将XML转换成PDF? 手机上如何将XML转换成PDF? Apr 02, 2025 pm 10:18 PM

直接在手机上将XML转换为PDF并不容易,但可以借助云端服务实现。推荐使用轻量级手机App上传XML文件并接收生成的PDF,配合云端API进行转换。云端API使用无服务器计算服务,选择合适的平台至关重要。处理XML解析和PDF生成时需要考虑复杂性、错误处理、安全性和优化策略。整个过程需要前端App与后端API协同工作,需要对多种技术有所了解。

xml怎么转换成图片 xml怎么转换成图片 Apr 03, 2025 am 07:39 AM

可以将 XML 转换为图像,方法是使用 XSLT 转换器或图像库。XSLT 转换器:使用 XSLT 处理器和样式表,将 XML 转换为图像。图像库:使用 PIL 或 ImageMagick 等库,从 XML 数据创建图像,例如绘制形状和文本。

xml格式怎么打开 xml格式怎么打开 Apr 02, 2025 pm 09:00 PM

用大多数文本编辑器即可打开XML文件;若需更直观的树状展示,可使用 XML 编辑器,如 Oxygen XML Editor 或 XMLSpy;在程序中处理 XML 数据则需使用编程语言(如 Python)与 XML 库(如 xml.etree.ElementTree)来解析。

See all articles