6-5、Python 数据类型-字典

简介: 学习了解Python 数据类型-字典。

python 字典创建、新增、修改、删除、遍历

字典介绍


Python的字典数据类型是基于hash散列算法实现的,采用键值对(key:value)的形式,根据key的值计算value的地址,具有非常快的查取和插入速度。但它是无序的,包含的元素个数不限,值的类型也可以是其它任何数据类型!


字典的key必须是不可变的对象,例如整数、字符串、bytes和元组,但使用最多的还是字符串。列表、字典、集合等就不可以作为key。同时,同一个字典内的key必须是唯一的, 但值则不必。


字典的每个键值对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中,例如:d = {key1 : value1, key2 : value2 }

字典的创建


dict()函数是Python内置的创建字典的方法。

>>> test = {}
>>> type(test)
<class 'dict'>
>>> a = {'a':'200','b':100}
>>> a
{'a': '200', 'b': 100}
>>> dict([('a',1),('b',2)])
{'a': 1, 'b': 2}
>>> dict(a=1,b=2,name='jack')
{'a': 1, 'b': 2, 'name': 'jack'}
>>> b = {1:100,2:200}   # 常用的 
>>> type(b)
<class 'dict'>
>>> 

访问字典


字典是集合类型,不是序列类型,因此没有索引下标的概念,更没有切片的说法。但是,与list类似,字典采用把相应的键放入方括号内获取对应值的方式取值。

>>> a = dict(a=1,b=2,name='jack')
>>> a
{'a': 1, 'b': 2, 'name': 'jack'}
>>> a['a']
1
>>> a['name']
'jack'
>>> b = {1:100,2:200}
>>> b[1]
100
>>> 

增加和修改


增加就是往字典插入新的键值对,修改就是给原有的键赋予新的值。由于一个key只能对应一-个

值,所以,多次对一个key赋值,后面的值会把前面的值冲掉。

>>> b = {1:100,2:200}
>>> b
{1: 100, 2: 200}
>>> b[3]=300           # 添加元素 3:300,键为3,值为300
>>> b
{1: 100, 2: 200, 3: 300}
>>> b['1']=500         # 添加元素
>>> b
{1: 100, 2: 200, 3: 300, '1': 500}
>>> b[1]=600  # 修改元素
>>> b
{1: 600, 2: 200, 3: 300, '1': 500} 
>>>  

删除字典元素、清空字典和删除字典


使用del关键字删除字典元素或者字典本身,使用字典的clear()方法清空字典

>>> b ={1: 600, 2: 200, 3: 300, '1': 500}
>>> b
{1: 600, 2: 200, 3: 300, '1': 500}
>>> del b[1]            # 删除字典元素
>>> b
{2: 200, 3: 300, '1': 500}
>>> b.pop(3)
300
>>> b
{2: 200, '1': 500}
>>> b.clear()   # 清空字典
>>> b
{}
>>> del b   # 删除字典
>>> b
Traceback (most recent call last):
  File "<pyshell#35>", line 1, in <module>
    b
NameError: name 'b' is not defined
>>> 

字典的方法


get(key) 返回指定键的值,如果值不在字典中,则返回default值

items() 以列表返回可遍历的(键,值)元组对

keys() 以列表返回字典所有的键

values() 以列表返回字典所有的值

>>> a = {'name':'jack','age':20,'addres':'beijin'}
>>> a
{'name': 'jack', 'age': 20, 'addres': 'beijin'}
>>> a.get('name')  # 根据键获取值
'jack'
>>> 
>>> a.items() # 返回键-值元组的列表
dict_items([('name', 'jack'), ('age', 20), ('addres', 'beijin')])
>>> 
>>> a.keys()
dict_keys(['name', 'age', 'addres'])
>>> a.values()
dict_values(['jack', 20, 'beijin'])
>>> 

遍历字典


遍历字典获得的键值对是随机无序的

>>> a
{'name': 'jack', 'age': 20, 'addres': 'beijin'}
>>> for key in a:
  print(key)
name
age
addres
>>> a
{'name': 'jack', 'age': 20, 'addres': 'beijin'}
>>> for i in a.items():
  print(i)
('name', 'jack')
('age', 20)
('addres', 'beijin')
>>> for i in a.items():
  print(i[0],i[1])
name jack
age 20
addres beijin
>>> 
>>> for key,value in a.items():
  print(key,value)
name jack
age 20
addres beijin
>>> 


目录
相关文章
|
7天前
|
存储 JSON 数据管理
Python字典:高效数据管理的瑞士军刀
Python字典基于哈希表实现,提供接近O(1)的高效查找,支持增删改查、遍历、合并等丰富操作,广泛应用于计数、缓存、配置管理及JSON处理。其灵活性与性能使其成为数据处理的核心工具。
168 0
|
1月前
|
存储 缓存 安全
Python字典:从入门到精通的实用指南
Python字典如瑞士军刀般强大,以键值对实现高效数据存储与查找,广泛应用于配置管理、缓存、统计等场景。本文详解字典基础、进阶技巧、实战应用与常见陷阱,助你掌握这一核心数据结构,写出更高效、优雅的Python代码。
44 0
|
3月前
|
人工智能 Python
python基本数据类型简介
本文简要介绍了Python的基本数据类型,包括整型、浮点型、字符串、列表、字典和布尔类型,帮助读者对Python数据类型有初步了解。
115 0
|
3月前
|
存储 安全 开发者
Python中的数据类型详解
Python是一种动态类型编程语言,具备丰富的数据类型,包括数值类型、序列类型、映射类型和集合类型等。这些类型为高效编程提供了强大支持。
|
5月前
|
Python
Python技术解析:了解数字类型及数据类型转换的方法。
在Python的世界里,数字并不只是简单的数学符号,他们更多的是一种生动有趣的语言,用来表达我们的思维和创意。希望你从这个小小的讲解中学到了有趣的内容,用Python的魔法揭示数字的奥秘。
128 26
|
6月前
|
存储 程序员 Python
Python 变量和简单数据类型
本文介绍了 Python 编程的基础知识,从创建第一个 Python 文件 `hello_world.py` 开始,讲解了 Python 文件的运行机制及解释器的作用。接着深入探讨了变量的定义、命名规则和使用方法,并通过示例说明如何修改变量值。同时,文章详细解析了字符串的操作,包括大小写转换、变量插入及空白字符处理等技巧。此外,还涵盖了数字运算(整数与浮点数)、常量定义以及注释的使用。最后引用了《Python 之禅》,强调代码设计的美学原则和哲学思想。适合初学者快速掌握 Python 基础语法和编程理念。
|
6月前
|
Python
探索Python的各式数据类型
以上就是Python数据类型的一次简单而有趣的游览。和她继续接触,你会发现她还有更多有趣的面象,例如集合里的冰冻集合(Frozenset),序列里的字符串(String)和字节序列(Bytes)等等。希望这次游览能对你有所启发,让你更好地理解和使用Python。
83 21
|
7月前
|
存储 人工智能 索引
Python数据结构:列表、元组、字典、集合
Python 中的列表、元组、字典和集合是常用数据结构。列表(List)是有序可变集合,支持增删改查操作;元组(Tuple)与列表类似但不可变,适合存储固定数据;字典(Dictionary)以键值对形式存储,无序可变,便于快速查找和修改;集合(Set)为无序不重复集合,支持高效集合运算如并集、交集等。根据需求选择合适的数据结构,可提升代码效率与可读性。
|
11月前
|
Python
Python中不同数据类型之间如何进行转换?
Python中不同数据类型之间如何进行转换?
263 62
|
11月前
|
存储 开发者 Python
Python 的数据类型
Python 的数据类型
193 61

热门文章

最新文章

推荐镜像

更多