首页 > 编程语言 >从零开始的Python世界生活——基础篇(Python字典)

从零开始的Python世界生活——基础篇(Python字典)

时间:2024-11-27 21:55:01浏览次数:8  
标签:name Python age 33 从零开始 print type 字典

从零开始的Python世界生活——基础篇(Python字典)

1.Python字典是什么?

​ Python字典是python中非常重要的非常灵活和强大的内置数据结构,用于存储键值对(key-value),Python中的字典等价于数学中的映射,也就是key(键)与value(值) 一 一 对应。我们可以通过查找key(键)来获得key(键)所对应value(值)。

2.Python字典的特点

2.1 字典中key(键)唯一,不能相同,但value(值)可以相同

2.2 字典中key(键)必须为不可变类型(如:字符串(常用)、元组、数字等),但value(值)可以是任意类型

2.3 字典是可变的,可以在创建后修改

2.4 字典中的元素没有固定顺序(在Python 3.7及以后的版本中,插入顺序会被保留)

2.5 字典的查找操作,平均时间复杂度为O(1)

3.怎样创建一个字典?

3.1 创建一个空字典:

p = {}#方法1
p = dict()#方法2

3.2 创建一个字典:

3.2.1 使用大括号{}

p = {
    "name":"Python",
    "age":33,
    "type": "programming language"
}

print(p)#运行结果:{'name': 'Python', 'age': 33, 'type': 'programming language'}

3.2.2 使用dict()函数

p = dict(name = "Python",age = 33,type = "programming language")

p1 = dict()
print(p)#运行结果:{'name': 'Python', 'age': 33, 'type': 'programming language'}
print(p1)
3.2.3 使用zip()函数压缩列表
p1 = ["name","age","type"]
p2 = ["Python",33,"programming language"]
p = dict(zip(p1,p2))

print(p)#运行结果:{'name': 'Python', 'age': 33, 'type': 'programming language'}

3.2.4 使用列表推导式

p = {x: x**2 for x in range(5)}  # 创建一个包含0到4的平方的字典

根据使用场景的不同,选择合适的方法创建字典

4.字典的基础操作

4.1 访问值

p = dict(name="Python", age=33, type="programming language") 

print(p["name"])  # 运行结果: Python  
print(p.get("age"))  # 运行结果: 33  

4.2 修改值

p = dict(name="Python", age=33, type="programming language")

p["age"] = 34  
print(p["age"])  # 运行结果: 34  

4.3 添加新的键值对

p = dict(name="Python", age=33, type="programming language")

p["creator"] = "Guido van Rossum"  
print(p)  
# 运行结果:{'name': 'Python', 'age': 34, 'type': 'programming language', 'creator': 'Guido van Rossum'}

4.4 删除键值对

4.3.1 使用del

p = dict(name="Python", age=33, type="programming language")

del p["type"]  # 删除type键
print(p)
#运行结果:{'name': 'Python', 'age': 33}

4.3.2 使用pop()

p = dict(name="Python", age=33, type="programming language")

y = p.pop("type") # 删除type键
print(p)#运行结果:{'name': 'Python', 'age': 33}
print(y)#运行结果:programming language

4.5 获取所有键值对

4.5.1 获取所有键keys()

p = dict(name="Python", age=33, type="programming language")

keys = list(p.keys())  
print(keys)  
# 运行结果: ['name', 'age', 'type']

4.5.2 获取所有值values()

p = dict(name="Python", age=33, type="programming language")

values = list(p.values())  
print(values)  

4.5.3 获取键值对 items()

p = dict(name="Python", age=33, type="programming language")

items = list(p.items())  
print(items)  

4.6 检查键是否存在

p = dict(name="Python", age=33, type="programming language")

print("name" in p)  # 输出: True  
print("creator" in p)  # 输出: False  

4.7 合并字典(你知道茴香豆的‘茴’字有几种写法吗_)

4.7.1 使用|运算符

注意:该方法适用于python3.9及以上版本

dict1 = {"a": 1, "b": 2}  
dict2 = {"c": 3, "d": 4}  
dict1 = dict1 | dict2  
print(dict1)# 运行结果: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

4.7.2 使用**解包

注意:该方法适用于python3.5及以上版本

dict1 = {"a": 1, "b": 2}  
dict2 = {"c": 3, "d": 4}  
dict1 = {**dict1, **dict2}   
print(dict1)# 运行结果: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

4.7.3 使用 update() (传统方法)

dict1 = {"a": 1, "b": 2}  
dict2 = {"c": 3, "d": 4}  
dict1.update(dict2)
print(dict1)# 运行结果: {'a': 1, 'b': 2, 'c': 3, 'd': 4}

4.7.4 性能对比

为了更好地选择合适的合并方法,下面是对三种方法的简单性能对比:

# 性能测试代码  
import timeit  
# 合并运算符  
print(timeit.timeit("dict1 | dict2",   
    setup="dict1={'a':1}; dict2={'b':2}",   
    number=100000))  
# 解包方法  
print(timeit.timeit("{**dict1, **dict2}",   
    setup="dict1={'a':1}; dict2={'b':2}",   
    number=100000))  
# update() 方法  
print(timeit.timeit("dict1.copy().update(dict2)",   
    setup="dict1={'a':1}; dict2={'b':2}",   
    number=100000))
运行结果示例:
0.004538799985311925
0.004827399970963597
0.006663299980573356

根据性能测试结果,推荐使用的合并方法依次为:

  1. 使用 | 运算符(Python 3.9+)
  2. 使用 ** 解包(Python 3.5+)
  3. 使用 update() 方法(传统方法)

在选择合并方法时,请务必考虑自身的 Python 版本兼容性。

结语

恭喜你,已经成功踏入了 Python 字典的世界!现在你不仅知道字典是如何工作的,还掌握了如何创建、修改和合并它们的技巧。就像在生活中,我们常常需要找到合适的钥匙来打开不同的门,字典也为我们提供了快速查找的“钥匙”。无论是存储用户信息、配置参数,还是处理复杂的数据结构,它都能派上用场。

Happy coding!

标签:name,Python,age,33,从零开始,print,type,字典
From: https://www.cnblogs.com/666-777-eto/p/18573193

相关文章

  • python中常见的数据结构
    Python中有几种常见的数据结构,它们各自有不同的特点和用途。我来简单介绍一下:1.列表(List):  •列表是有序的集合,可以随时添加和删除其中的元素。  •列表中的元素可以是不同类型的。  •列表是可变的,即可以修改。  •列表使用方括号[]表示,元素之间用......
  • Day1 [Python学习] print与变量
    1.print1.1含义print()是一个内置函数,主要用于将指定的内容输出到控制台。这些内容可以是各种数据类型,如字符串、数字、列表、字典等。1.2格式print加(),()里边写要输出的内容,需要用双引号"或者单引号' 注意:字母、标点、符号全是英文状态下的!!print('helloworld......
  • [Python]已解决。pycharm突然打不开了,安装PyCharm后,双击没反应。pycharm无法打开
    前两天刚装的pycharm,今天双击之后突然打不开了,好几次没有反应。我试了以下方法:1.方法一:管理员身份运行,直接右键选择,或者在下方搜索框输入PyCharm后点以管理员身份运行如果你也和我一样,这一步还不行,请继续往下看。2.方法二:修改Roaming文件2.1找到AppData。C盘--用户--User(......
  • 图像去雾+图像去雨(matlab+python)
    看到许多小伙伴想进行图像去雨,图像去雾的任务,由于以前进行了此类项目,所以在此书写博客进行交流。#去雨前言从静止图像中去除雨水是一项复杂且具有挑战性的任务。雨滴仅影响图像的很小区域,因此导致确定应考虑哪个区域和不应考虑哪个区域的混乱。在本文中,已经实现了一种新......
  • Python_闭包和装饰器
    Python命名空间NamespacesandScope:multiplenamespaces对象和名称的归属--Searchclosureenclosing Local_Global_built-in内置名字空间,任何模块均可访问它,它存放着内置的函数和异常。全局名字空间,它记录了模块的变量,包括函数、类、其它导入的模块、模块级......
  • vscode下python相关的小知识
    1.在 VSCode 中,按下tab按键时,不能自动补全原因是不小心碰到了Ctrl+m这个快捷键组合,导致Tab按键失去焦点了。重新按Ctrl+m切换即可解决。2.在VSCode中,#region注释......#endregion 可折叠代码块#region忽略证书#urllib3.disable_warnings()#logging.cap......
  • python:dis包中dis()和Bytecode()函数的差异
    dis模块是Python中用于查看字节码的工具,它提供了几个函数和类来分析和调试Python程序的字节码。dis.dis()和dis.Bytecode()都涉及到字节码的分析,但它们有一些重要的区别:1.dis.dis()dis.dis()是最常用的函数之一,它用于将Python函数、类或代码对象的字节码直接打印到......
  • Python反爬虫系统架构设计》毕业设计项目
    大家好我是蓝天,混迹在java圈的辛苦码农。今天要和大家聊的是一款《Python反爬虫系统架构设计》毕业设计项目。项目源码以及部署相关请联系蓝天,文末附上联系信息。......
  • 《用Python实现动态爱心表白:点亮屏幕上的浪漫时刻!》
    在代码的世界里,爱意也可以用程序表达。如果你想向心爱的TA表白,不如用Python来一场创意满满的“浪漫攻击”!今天,我将分享一个结合了动态爱心特效和交互式表白窗口的程序,快来试试吧!功能简介动态爱心特效使用数学公式绘制动态爱心,屏幕上会显示粉色爱心不停跳动,非常梦幻。......
  • 将 Python 计算代码转换为渲染的 LaTeX,就像手写一样清晰易懂!
    handcalcs是一个非常实用的开源Python库,它的特别之处在于能够将Python计算结果转换为渲染的LaTeX格式,使得复杂的计算过程像手写公式一样清晰、直观。这个工具对工程师、科学家以及任何从事数值计算的人来说,都可以大幅提高表达计算过程的可读性和透明度。handcalcs......