Python基础之字典的详细使用教程

 更新时间:2022年07月13日 08:40:51   作者:爪哇斗罗  
字典作为Python的一个内置数据结构,和列表一样都是可变序列的,但是它是无序的,以键值对的方式存储数据。本文将详解一下Python中字典的使用,需要的可以参考一下

一. 什么是字典

字典作为Python的一个内置数据结构,和列表一样都是可变序列的,但是它是无序的,以键值对的方式存储数据。

二. 创建字典

创建字典的两种方式,一种使用{ } 另一种使用内置函数dict()

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01={"A": 1, "B": 2, "C": 3}
# {'A': 1, 'B': 2, 'C': 3}
print(dict01)
dict02=dict(a=1, b=2,name="zs")
# {'a': 1, 'b': 2, 'name': 'zs'}
print(dict02)

三. 字典元素获取

获取字典元素有两种,通过[]或者get()方法获取,两者的区别就是前者当key不存在会抛出异常,后者不会抛出异常,会返回None

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 字典的元素获取
# 1
print(dict01["A"])
# 3
print(dict01.get("C"))
# KeyError: 'D'
# print(dict01["D"])

四. 字典元素的增删改操作

使用not in与 in判断字典元素中的key是否存在,这一点与列表的用法是相同的。当然也可以对字典中的元素进行增删改的操作。

删除键值对使用del, 增加字典元素与修改字典元素的操作是一样的,就是有key与无key的区别。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# True
print("A" in dict01)
# False
print("A" not in dict01)
 
# 删除 B
del dict01["B"]
# {'A': 1, 'C': 3}
print(dict01)
# 增加元素 D
dict01["D"]=4
# {'A': 1, 'C': 3, 'D': 4}
print(dict01)
# 修改D的值
dict01["D"]=40
# {'A': 1, 'C': 3, 'D': 40}
print(dict01)

五. 字典的视图操作

通过keys(),values(),items()可以分别获取字典中的所有键,所有值,所有键值对。

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# 获取所有的key
keys = dict01.keys()
# 类型为 <class 'dict_keys'>
print(type(keys))
# dict_keys(['A', 'B', 'C'])
print(keys)
# 转化为列表 ['A', 'B', 'C']
print(list(keys))
 
# 获取所有的value
values = dict01.values()
# 类型为 <class 'dict_values'>
print(type(values))
# dict_values([1, 2, 3])
print(values)
# 转化为列表 [1, 2, 3]
print(list(values))
 
# 获取所有的键值对
items = dict01.items()
# <class 'dict_items'>
print(type(items))
# dict_items([('A', 1), ('B', 2), ('C', 3)])
print(items)
# 元组的数据结构 [('A', 1), ('B', 2), ('C', 3)]
print(list(items))

当然也可以使用以下的方式去遍历字典元素:

# author: 爪哇斗罗(javaDouLuo)
# date: 2022/7/11 22:51
 
# 字典的创建
dict01 = {"A": 1, "B": 2, "C": 3}
 
# A 1 1
# B 2 2
# C 3 3
for item in dict01:
    print(item,dict01[item],dict01.get(item))

字典的总结如下:

字典中的key不允许重复,value可以

其中key为不可变对象

字典中的元素是无序的

字典根据需要动态伸缩,但字典会浪费较多的内存空间

到此这篇关于Python基础之字典的详细使用教程的文章就介绍到这了,更多相关Python字典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python基础之单分派泛函数singledispatch

    python基础之单分派泛函数singledispatch

    这篇文章主要介绍了python基础之单分派泛函数singledispatch问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • 基于python3生成标签云代码解析

    基于python3生成标签云代码解析

    这篇文章主要介绍了基于python3生成标签云代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 使用AJAX和Django获取数据的方法实例

    使用AJAX和Django获取数据的方法实例

    这篇文章主要给大家介绍了关于使用AJAX和Django获取数据的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • 使用Python打造高效多进程TCP服务器

    使用Python打造高效多进程TCP服务器

    这篇文章主要为大家详细介绍了如何使用Python实现多进程的TCP服务器,通过为每个连接进来的客户端分配一个进程,实现并发处理多个客户端请求的能力,感兴趣的可以了解下
    2024-01-01
  • VSCode设置类似Pycharm控制台运行Python显示中间变量的步骤

    VSCode设置类似Pycharm控制台运行Python显示中间变量的步骤

    这篇文章主要介绍了如何在VSCode中设置调试功能,以实现类似于Pycharm在控制台输出中间变量的功能,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2025-03-03
  • python基于搜索引擎实现文章查重功能

    python基于搜索引擎实现文章查重功能

    这篇文章主要介绍了python基于搜索引擎实现文章查重功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-05-05
  • 基于django和dropzone.js实现上传文件

    基于django和dropzone.js实现上传文件

    这篇文章主要介绍了基于django和dropzone.js实现上传文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11
  • python处理大数字的方法

    python处理大数字的方法

    这篇文章主要介绍了python处理大数字的方法,涉及Python递归操作的相关技巧,需要的朋友可以参考下
    2015-05-05
  • 详解Python 多线程 Timer定时器/延迟执行、Event事件

    详解Python 多线程 Timer定时器/延迟执行、Event事件

    这篇文章主要介绍了Python 多线程 Timer定时器/延迟执行、Event事件的相关知识,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 使用python实现数组、链表、队列、栈的方法

    使用python实现数组、链表、队列、栈的方法

    数据结构是指相互之间存在着一种或多种关系的数据元素的集合和该集合中数据元素之间的关系组成。这篇文章主要介绍了使用python实现数组、链表、队列、栈的相关知识,需要的朋友可以参考下
    2019-12-12

最新评论