大家好,我是志军,10年Python经验,知乎Python优秀回答者
在Python中,字典是一种非常强大且常用的数据结构。
它提供了一种键值对(key-value pair)的存储方式,使得数据的存取变得既快速又方便。
字典的键可以是任何不可变类型,如字符串、数字或元组,而值则可以是任何数据类型。
我将详细介绍Python字典的常用操作,帮助初学者更好地理解和使用这一功能。
1. 创建字典
创建字典的基本方法是使用花括号 {}
,在其中放置以逗号分隔的键值对。例如:
my_dict = {'name': '张三', 'age': 30, 'city': '北京'}
此外,也可以使用 dict()
函数来创建字典。例如:
my_dict = dict(name='张三', age=30, city='北京')
2. 访问字典中的值
要访问字典中的值,可以使用相应的键。例如,要获取上面字典中的姓名:
name = my_dict['name'] print(name) # 输出:张三
如果尝试访问字典中不存在的键,将引发 KeyError
。为了避免这种错误,可以使用 get()
方法,当键不存在时,它将返回 None
或者指定的默认值。例如:
address = my_dict.get('address', '地址未知') print(address) # 输出:地址未知
3. 修改字典
可以直接通过键来修改字典中的值。如果该键存在,其值将被更新;如果不存在,将添加新的键值对。例如:
my_dict['age'] = 31 # 修改已存在的键 my_dict['address'] = '上海' # 添加新的键值对
4. 删除字典中的元素
可以使用 del
语句来删除字典中的特定元素。例如:
del my_dict['address']
还可以使用 pop()
方法来删除并返回字典中的特定元素。例如:
age = my_dict.pop('age') print(age) # 输出:31
5. 字典的遍历
遍历字典时,可以使用 items()
方法来获取键值对,keys()
方法来获取所有键,以及 values()
方法来获取所有值。例如:
for key, value in my_dict.items(): print(f"{key}: {value}") # 输出: # name: 张三 # city: 北京
6. 字典的合并
可以使用 update()
方法来合并两个字典。该方法会更新已存在的键值对,并添加不存在的键值对。例如:
other_dict = {'gender': '男', 'age': 32} my_dict.update(other_dict)
7. 字典推导式
字典推导式(dictionary comprehension)是创建字典的快速方法。它类似于列表推导式,但用于生成键值对。例如,将一个数字列表转换为其平方的字典:
squares = {x: x*x for x in range(6)} print(squares) # 输出:{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
8. 字典的排序
虽然字典本身是无序的,但可以对其进行排序并生成一个新的有序结构,如列表。例如,根据键排序:
sorted_dict = dict(sorted(my_dict.items()))
或者根据值排序:
sorted_by_value = dict(sorted(my_dict.items(), key=lambda item: item[1]))
9. 字典的嵌套
字典可以嵌套其他字典,从而创建更复杂的数据结构。例如:
python nested_dict = {'child1': {'name': '小明', 'age': 5}, 'child2': {'name': '小红', 'age': 7}}
练习
编写一个程序,统计一段文本中每个单词出现的频率。为了简化问题,假设文本中只包含字母和空格,不包含标点符号和数字。
步骤:
输入一段文本。
将文本拆分为单词列表。
使用字典统计每个单词出现的次数。
打印每个单词及其出现次数。
示例文本:“hello world hello python”
如果对你帮帮助,请给我一个免费的“赞”和“在看”,感谢感谢
和你分享技术·职场·副业·搞钱
加我微信(备注:py)送你一份Python学习资料大礼包
本文转自 https://mp.weixin.qq.com/s/lYD4ahbc5FZfst58GTVcSQ,如有侵权,请联系删除。对于从来没有接触过编程的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
👉Python学习大纲👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
因篇幅有限,仅展示部分资料,需要点击下方链接即可前往获取
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python副业创收路线👈
这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取