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['Alice']: ", dict['Alice'];
KeyError: 'Alice'



修改字典

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

#!/usr/bin/python
 
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
 
# update existing entry 更新

 # 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'};
 
 # 删除键是'Name'的条目

    # 清空词典所有条目

      # 删除词典
 
print "dict['Age']: ", dict['Age'];
print "dict['School']: ", dict['School'];

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

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

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



删除字典元素

字典键的特性

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

两个重要的点需要记住:


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


#!/usr/bin/python
 
dict = {'Name': 'Zara', 'Age': 7, 'Name': 'Manni'};
 
print "dict['Name']: ", dict['Name'];

以上实例输出结果:

dict['Name']:  Manni

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

#!/usr/bin/python
 
dict = {['Name']: 'Zara', 'Age': 7};
 
print "dict['Name']: ", dict['Name'];

以上实例输出结果:

Traceback (most recent call last):
  File "test.py", line 3, in <module>
    dict = {['Name']: 'Zara', 'Age': 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()

 

以列表返回字典中的所有值










本文转自 chengxuyonghu 51CTO博客,原文链接:http://blog.51cto.com/6226001001/1547879,如需转载请自行联系原作者
目录
相关文章
|
6月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
8月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
265 2
|
10月前
|
XML JSON API
如何使用Python将字典转换为XML
本文介绍了如何使用Python中的`xml.etree.ElementTree`库将字典数据结构转换为XML格式。通过定义递归函数处理字典到XML元素的转换,生成符合标准的XML文档,适用于与旧系统交互或需支持复杂文档结构的场景。示例代码展示了将一个简单字典转换为XML的具体实现过程。
155 1
|
12月前
|
存储 JSON 索引
一文让你彻底搞懂 Python 字典是怎么实现的
一文让你彻底搞懂 Python 字典是怎么实现的
337 13
|
11月前
|
存储 Java Serverless
【Python】字典
【Python】字典
115 1
|
12月前
|
关系型数据库 MySQL 数据库
Python MySQL查询返回字典类型数据的方法
通过使用 `mysql-connector-python`库并选择 `MySQLCursorDict`作为游标类型,您可以轻松地将MySQL查询结果以字典类型返回。这种方式提高了代码的可读性,使得数据操作更加直观和方便。上述步骤和示例代码展示了如何实现这一功能,希望对您的项目开发有所帮助。
334 4
|
12月前
|
存储 数据安全/隐私保护 Python
Python常用数据结构——字典的应用
Python常用数据结构——字典的应用
172 2
|
12月前
|
Python
Python 字典删除下标前两个
Python 字典删除下标前两个
83 1
|
11月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
176 0
|
11月前
|
存储 自然语言处理 数据库
Python字典操作实现文章敏感词检索
Python字典操作实现文章敏感词检索
205 0

热门文章

最新文章

推荐镜像

更多