百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

Python基础:无处不在的字典!叫你一声,敢答应吗?

off999 2024-09-16 00:46 52 浏览 0 评论

在Python的世界里,字典是一种无处不在的数据结构,以其独特的方式处理信息和数据。想象一下,如果你拥有一个万能的箱子,能够按照名字立刻找到里面的任何一个物品,那么Python字典就是编程世界中的这个万能箱子。无论是快速访问数据、数据存储还是进行复杂的数据操作,字典都能以其高效和灵活的特性,成为Python编程不可或缺的一部分。

合集:《Python基础》
分类:数据类型
(关注并收藏,API快查,一文全覆盖,随时补充更新)

接下来,我将给大家介绍:

  • Python字典的特点
  • 完整的方法列表
  • 常见的操作示例
  • 字典的创建和初始化
  • 访问元素
  • 添加和修改元素
  • 删除元素
  • 遍历字典
  • 字典推导式
  • 嵌套字典
  • 字典的方法
  • 字典的性能

0.Python字典的特点

  • 键值对存储结构:Python字典通过键值对存储数据,每个键对应一个值。键必须是不可变类型,比如数字、字符串或元组,而值则可以是任意的数据类型。
  • 可变性:字典是可变的,这意味着你可以随时添加、删除或者修改字典中的键值对。
  • 无序性:在Python 3.7之前,字典是无序的。这意味着,字典中的数据项是无序排列的,你每次遍历字典时,键值对的排列顺序可能都不同。从Python 3.7开始,字典被设计为按照插入的顺序排序。
  • 动态性:字典可以在运行时动态地增减,这让字典成为了处理动态数据的强大工具。

1.完整的方法列表

2.常见的操作示例

字典的创建和初始化

# 使用大括号创建空字典
empty_dict = {}

# 使用dict()函数创建空字典
empty_dict = dict()

# 直接使用键值对初始化字典,键和值之间用冒号分隔
person = {"name": "张三", "age": 30, "city": "北京"}

# 使用关键字参数初始化字典
person = dict(name="张三", age=30, city="北京")

# 通过元组列表初始化字典
person_via_tuples = dict([("name", "张三"), ("age", 30), ("city", "北京")])

访问元素

# 使用键直接访问,如果键不存在,会抛出KeyError异常
name = person["name"]

# 使用get方法安全访问,如果键不存在,会返回默认值None(可修改为其他值)
name = person.get("name")  # 如果键name不存在,返回None
name = person.get("name", default="nobody")  # 如果键name不存在,返回nobody

# 使用setdefault方法安全访问,如果键不存在,会返回默认值None(可修改为其他值),同时添加默认值到字典中
name = person.setdefault("name")
name = person.setdefault("name", default="nobody")

# 返回字典所有键的视图,可遍历或转换为其他容器类型如列表
person.keys()
list(person.keys())  # ["name", "age", "city"]

# 返回字典所有值的视图,可遍历或转换为其他容器类型如列表
person.values()
list(person.values())  # ["张三", 30, "北京"]

# 返回字典所有键值对的视图,可遍历或转换为其他容器类型如列表
person.items()
list(person.items())  # [("name", "张三"), ("age", 30), ("city", "北京")]

添加和修改元素

# 使用赋值语句添加或修改,键不存在时添加,键存在时修改
person["gender"] = "男"
person["age"] = 31

# 使用update方法添加或修改,键不存在时添加,键存在时修改
person.update({"gender": "男", "age": 31})

删除元素

# 使用del直接删除元素,没有返回
del person["age"]

# 使用pop方法
age = person.pop("age")  # 默认如果键不存在或抛出异常
age = person.pop("age", None)  # 可选设置键不存在时返回默认值,如此处的None

遍历字典

# 遍历字典,默认就是遍历键
for key in person:
    print(key)

# 遍历键
for key in person.keys():
    print(key)

# 遍历值
for value in person.values():
    print(value)

# 遍历键值对
for key, value in person.items():
    print(f"{key}: {value}")

字典推导式

一种从其他迭代器创建字典的简洁且高效的方法,借鉴了列表推导式的语法。键值对可以是任意表达式,通常是对已有的字典或任何可迭代对象进行操作和处理的结果。

# 将原字典的键和值互换
inverted_person = {value: key for key, value in person.items()}

嵌套字典

# 创建嵌套字典
employees = {
    '张三': {
        '职位': '项目经理',
        '年龄': 30
    },
    '李四': {
        '职位': '开发工程师',
        '年龄': 25
    }
}

# 访问嵌套字典
employees['张三']['职位']  # 项目经理

3.字典的性能

  • 性能本来就高!:字典在Python中是通过哈希表实现的,这意味着在理想条件下,无论字典中有多少项,查找、插入和删除操作的时间复杂度都是O(1)。这使得字典成为存储和访问数据的极其高效的结构。
  • 还想进一步提高?
  • 尽量在创建字典时就确定好其结构和大小,避免频繁地添加或删除键值对,以减少内存的重新分配。
  • 当键是简单的数据类型时,如字符串或数字,字典的性能最优。
  • 利用字典方法,如get()和setdefault(),可以避免不必要的键查找和错误处理,从而提高代码的效率。

4.结语

掌握Python字典的操作不仅能帮助你高效地管理和操作数据,还能使你的代码更加简洁和优雅。

欢迎点赞收藏评论加关注,每天学习一点Python小知识,无论基础、模块、数据分析、深度学习和Ai,总有你感兴趣的。我是钢铁老豆,一个30岁转行IT、自学成为算法工程师、想用Ai点亮孩子小小世界的Pythoner。

相关推荐

nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
  • nvidia怎么下载(nvidia怎么下载旧版本驱动)
截图电脑(截图电脑怎么操作)

方法一:系统自带截图具体操作:同时按下电脑的自带截图键【Windows+shift+S】,可以选择其中一种方式来截取图片:截屏有矩形截屏、任意形状截屏、窗口截屏和全屏截图。?方法二:QQ截图具体操作:...

显卡参数对比(rtx50系列显卡参数对比)

在规格方面:显卡容量大(大容量显卡在大型游戏中比较有用);显卡速度快(比如DDR5比DDR3快);核心频率高(比如4830在500MHZ左右,4870能到700多)这是显卡很重要的参数;还有流处理器...

n卡驱动下载官网(n卡驱动官网网址)

1可能下载不了。2可能的原因是网速不稳定或者网络连接不畅,还有就是可能是服务器维护或者更新的原因。3如果下载不了,可以尝试换一个时间或者尝试使用其他的下载方式或者下载其他版本的驱动。另外,也可以...

android模拟器下载安装(安卓模拟器软件下载)

电脑版安卓模拟器可以通过网上下载并安装。首先选择一个安卓模拟器,比如NoxPlayer、BlueStacks、LDPlayer等,然后在官网或其他可靠的下载网站下载对应的安装包。下载完成后,双击安装包...

win7明明是管理员却没有权限

答:win7没有管理员权限的解决方法。1.为Windows7的右键菜单添加取得所有权的菜单:具体实现的方法不难,将以下内容另存为文本文件; 2.然后修改该文件的扩展名为.reg,双击导...

电脑c盘格式化了怎么装系统(电脑c盘格式化后还能用吗)

C盘只有格式化才能中心装系统吗?不是的。C盘格式化是为了让C盘更清洁,这样装了的系统比较纯净的。没有系统来及,用起来更是的速度快。格式化(format)是指对磁盘或磁盘中的分区(partition)进...

win10开机慢怎么设置(win 10开机太慢)
  • win10开机慢怎么设置(win 10开机太慢)
  • win10开机慢怎么设置(win 10开机太慢)
  • win10开机慢怎么设置(win 10开机太慢)
  • win10开机慢怎么设置(win 10开机太慢)
手机路由器管理(手机路由器管理界面进不去是什么原因)
  • 手机路由器管理(手机路由器管理界面进不去是什么原因)
  • 手机路由器管理(手机路由器管理界面进不去是什么原因)
  • 手机路由器管理(手机路由器管理界面进不去是什么原因)
  • 手机路由器管理(手机路由器管理界面进不去是什么原因)
佳能(中国)官网下载(佳能(中国)官网下载appstore)

需要先进入佳能官网的下载页面,选择手机APP下载选项,根据手机操作系统的不同选择相应的下载链接即可成功下载佳能手机APP。下载链接通常会在网站的首页或者是产品页面上提供。总的来说,下载佳能手机APP非...

c盘右边有个恢复分区怎么删除

1、从网上下载“分区助手专业6.2(或5.6)”,它能无损分区,下载后打开按提示安装,点击分区助手桌面快捷方式图标,打开分区助手专业版6.2主界面。2、右击要调出空间的分区,如E,选“分配自由空间”,...

电脑插着电源却不充电怎么办

电脑插上电源但无法充电可能有以下原因:1.电池没有完全安装,需要检查电池是否完全插入笔记本电脑中。2.电池损坏,如果电池老化或发生机械故障、磨损和损伤,充电电流将会被阻塞从而无法进行充电,需要更换...

如何格式化手机(华为p50如何格式化手机)
如何格式化手机(华为p50如何格式化手机)

步骤/方式1软件格式化:利用psiloc公司的软件sTools,进行格式化手机,锁码为12345步骤/方式2软格:在手机上输入*#7370#之后要求你输入锁码,初始密码是:12345步骤/方式3硬格:先关机,再开机的时候按住拨号键、“*...

2025-12-17 12:03 off999

win10自动更新的禁用方法(win10自动更新的禁用方法是什么)

方法一:Windows设置  要想关闭Win10自动更新,比较简单的一种方法就是进入到Windows设置中,将Windows更新直接关闭。步骤如下:  1、按“Windows+I”键,打开Wind...

优化win7系统运行速度(优化win7系统运行速度多少)

优化WIN7系统开机启动项的操作方法1、在桌面上按组合键(win键+R)打开运行窗口,接着输入“regedit”,回车确认,2、打开注册表编辑器后,我们依次点击展开“HKEY_CURRENT_USE...

取消回复欢迎 发表评论: