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

Python 字典方法详解(python字典的方法有哪些)

off999 2025-07-21 17:00 40 浏览 0 评论


一、创建字典

1.1 花括号直接创建

创建空字典

student = {}

用键值对初始化

student = {

"name": "Alice",

"age": 20,

"courses": ["Math", "Physics"]

}

1.2 dict() 构造函数

创建空字典

person = dict()

传入键值对参数

person = dict(name="Bob", age=25, city="Shanghai")

# 注意字典构造函数中'键'不用字符串格式。如:name而非'name',这与上面大括号创建字典有所不同!

使用可迭代对象参数

pairs = [("a", 1), ("b", 2)]

d = dict(pairs)

print(d)

# 输出:{'a': 1, 'b': 2}

1.3 字典推导式

squares = {x: x**2 for x in range(5)}

print(squares)

# 输出:{0:0, 1:1, 2:4, 3:9, 4:16}

二、元素操作

2.1 访问元素

person = {'name': 'Alice', 'age': 25}

通过键访问

print(person['name'])

# 输出: Alice

使用get()方法,键不存在时返回None或默认值

print(person.get('age')) # 输出: 25

print(person.get('address')) # 输出: None

print(person.get('address', 'Not specified')) # 输出: Not specified

遍历所有值

for key in person:

print(key, person[key])

# 输出:

name Alice

age 25

2.2 添加/修改元素

student = {

"name": "Alice",

"age": 20,

"courses": ["Math", "Physics"]

}

student["phone"] = "138-1234-5678" # 新增

student["age"] = 21 # 修改

update() 合并字典

student.update({"grade": "A", "email": "alice@uni.edu"})

print(student)

# 输出:

{'name': 'Alice', 'age': 21, 'courses': ['Math', 'Physics'], 'phone': '138-1234-5678', 'grade': 'A', 'email': 'alice@uni.edu'}

2.3 删除元素

pop() 删除指定键(返回被删值)

deleted = student.pop("phone") # 138-1234-5678

popitem() 删除最后插入的键值对(Python3.7+ 按插入顺序)

last_item = student.popitem() # ('email', 'alice@uni.edu')

del 语句

del student["age"]

clear() 清空

student.clear()

三、常用方法详解

3.1 keys(), values(), items()

person = {'name': 'Alice', 'age': 25, 'city': 'New York'}

获取所有键

print(person.keys()) # dict_keys(['name', 'age', 'city'])

获取所有值

print(person.values()) # dict_values(['Alice', 25, 'New York'])

获取所有键值对

print(person.items()) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

#格式类似字符串元组的列表

items()通常与循环一起使用

for key, value in person.items():

print(f"{key}: {value}")

# 输出:

name: Alice

age: 25

city: New York

3.2 setdefault(key, default)

安全地设置默认值:

student.setdefault("major", "Computer Science")

# 如果键不存在则添加,返回默认值。键存在则返回当前值,不修改

3.3 copy()

浅拷贝:

new_dict = student.copy()

3.4 fromkeys(seq[, value])

创建新字典:从可迭代对象创建新字典,所有值设置为相同值

keys = ["name", "age", "city"]

default_dict = dict.fromkeys(keys, None)

# 输出:{'name': None, 'age': None, 'city': None}

3.5 合并字典(Python 3.9+)

d1 = {"a": 1}

d2 = {"b": 2}

merged = d1 | d2 # {'a':1, 'b':2}

# Same:

d1.update(d2)

print(d1) # {'a':1, 'b':2}

四、函数参数中的字典

4.1 作为参数传递

student = {"name": "Alice","age": 20,"courses": ["Math", "Physics"]}

def print_info(info):

for k, v in info.items():

print(f"{k}: {v}")

print_info(student)

# 输出:

name: Alice

age: 20

courses: ['Math', 'Physics']

4.2 可变参数 **kwargs

def create_profile(**kwargs):

return kwargs

profile = create_profile(name="Charlie", age=22, country="USA")

# 等同于 {'name': 'Charlie', 'age':22, 'country':'USA'}

4.3 参数解包

data = {"sep": "-", "end": "\n===\n"}

print("Hello", "world", **data)

# 输出:Hello-world

===

五、高级操作

5.1 字典推导式

过滤值大于2的键

original = {1: 10, 2: 20, 3: 30}

filtered = {k: v for k, v in original.items() if v > 15}

# 输出:{2: 20, 3: 30}

5.2 嵌套字典

nested = {

"user1": {"name": "Alice", "access": True},

"user2": {"name": "Bob", "access": False}

}

5.3 排序

num_dict = {x:9-x for x in range(9)}

# 按键排序

sorted_dict = dict(sorted(num_dict.items(), key=lambda x: x[0]))

# 按值排序

sorted_by_value = dict(sorted(num_dict.items(), key=lambda x: x[1]))

print(num_dict)

print(sorted_dict)

print(sorted_by_value)

# 输出:

{0: 9, 1: 8, 2: 7, 3: 6, 4: 5, 5: 4, 6: 3, 7: 2, 8: 1}

{0: 9, 1: 8, 2: 7, 3: 6, 4: 5, 5: 4, 6: 3, 7: 2, 8: 1}

{8: 1, 7: 2, 6: 3, 5: 4, 4: 5, 3: 6, 2: 7, 1: 8, 0: 9}

# dict.items()返回的是键值对,所以索引0代表键,索引1代表值.

六、注意事项

1. 键必须为不可变类型(字符串、数字、元组)

2. 值可以是任意Python对象

3. 字典3.7+版本保持插入顺序

4. 避免使用可变类型(如列表)作为键

5. 检查键是否存在时推荐使用 `key in dict`

这个总结涵盖了字典从创建到高级操作的完整流程,包含了函数参数传递的典型场景,以及版本特性说明。

当然,本文并没有把字典的方法全部列出,遗漏之处希望大家补充!

相关推荐

安全教育登录入口平台(安全教育登录入口平台官网)

122交通安全教育怎么登录:122交通网的注册方法是首先登录网址http://www.122.cn/,接着打开网页后,点击右上角的“个人登录”;其次进入邮箱注册,然后进入到注册页面,输入相关信息即可完...

大鱼吃小鱼经典版(大鱼吃小鱼经典版(经典版)官方版)

大鱼吃小鱼小鱼吃虾是于谦跟郭麒麟的《我的棒儿呢?》郭德纲说于思洋郭麒麟作诗的相声,最后郭麒麟做了一首,师傅躺在师母身上大鱼吃小鱼小鱼吃虾虾吃水水落石出师傅压师娘师娘压床床压地地动山摇。...

谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
  • 谷歌地球下载高清卫星地图(谷歌地球地图下载器)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)
哪个软件可以免费pdf转ppt(免费的pdf转ppt软件哪个好)

要想将ppt免费转换为pdf的话,我们建议大家可以下一个那个wps,如果你是会员的话,可以注册为会员,这样的话,在wps里面的话,就可以免费将ppt呢转换为pdfpdf之后呢,我们就可以直接使用,不需要去直接不需要去另外保存,为什么格式转...

2026-02-04 09:03 off999

电信宽带测速官网入口(电信宽带测速官网入口app)

这个网站看看http://www.swok.cn/pcindex.jsp1.登录中国电信网上营业厅,宽带光纤,贴心服务,宽带测速2.下载第三方软件,如360等。进行在线测速进行宽带测速时,尽...

植物大战僵尸95版手机下载(植物大战僵尸95 版下载)

1可以在应用商店或者游戏平台上下载植物大战僵尸95版手机游戏。2下载教程:打开应用商店或者游戏平台,搜索“植物大战僵尸95版”,找到游戏后点击下载按钮,等待下载完成即可安装并开始游戏。3注意:确...

免费下载ppt成品的网站(ppt成品免费下载的网站有哪些)

1、Chuangkit(chuangkit.com)直达地址:chuangkit.com2、Woodo幻灯片(woodo.cn)直达链接:woodo.cn3、OfficePlus(officeplu...

2025世界杯赛程表(2025世界杯在哪个国家)

2022年卡塔尔世界杯赛程公布,全部比赛在卡塔尔境内8座球场举行,2022年,决赛阶段球队全部确定。揭幕战于当地时间11月20日19时进行,由东道主卡塔尔对阵厄瓜多尔,决赛于当地时间12月18日...

下载搜狐视频电视剧(搜狐电视剧下载安装)

搜狐视频APP下载好的视频想要导出到手机相册里方法如下1、打开手机搜狐视频软件,进入搜狐视频后我们点击右上角的“查找”,找到自已喜欢的视频。2、在“浏览器页面搜索”窗口中,输入要下载的视频的名称,然后...

pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
  • pubg免费下载入口(pubg下载入口官方正版)
永久免费听歌网站(丫丫音乐网)

可以到《我爱音乐网》《好听音乐网》《一听音乐网》《YYMP3音乐网》还可以到《九天音乐网》永久免费听歌软件有酷狗音乐和天猫精灵,以前要跳舞经常要下载舞曲,我从QQ上找不到舞曲下载就从酷狗音乐上找,大多...

音乐格式转换mp3软件(音乐格式转换器免费版)

有两种方法:方法一在手机上操作:1、进入手机中的文件管理。2、在其中选择“音乐”,将显示出手机中的全部音乐。3、点击“全选”,选中所有音乐文件。4、点击屏幕右下方的省略号图标,在弹出菜单中选择“...

电子书txt下载(免费的最全的小说阅读器)

1.Z-library里面收录了近千万本电子书籍,需求量大。2.苦瓜书盘没有广告,不需要账号注册,使用起来非常简单,直接搜索预览下载即可。3.鸠摩搜书整体风格简洁清晰,书籍资源丰富。4.亚马逊图书书籍...

最好免费观看高清电影(播放免费的最好看的电影)

在目前的网上选择中,IMDb(互联网电影数据库)被认为是最全的电影网站之一。这个网站提供了各种类型的电影和电视节目的海量信息,包括剧情介绍、演员表、评价、评论等。其还提供了有关电影制作背后的详细信息,...

孤单枪手2简体中文版(孤单枪手2简体中文版官方下载)

要将《孤胆枪手2》游戏的征兵秘籍切换为中文,您可以按照以下步骤进行操作:首先,打开游戏设置选项,通常可以在游戏主菜单或游戏内部找到。然后,寻找语言选项或界面选项,点击进入。在语言选项中,选择中文作为游...

取消回复欢迎 发表评论: