Python字典及用法详解

文章目录
  • 前言
    • 1.创建字典
    • 2.访问字典中的值
    • 3.修改字典
    • 4.删除字典元素
    • 5.字典的常用操作
    • 6.检查键是否存在
    • 7.获取字典长度

前言

Python中的字典(Dictionary)是一种无序、可变的数据类型,用于存储键(Key)和值(Value)之间的映射关系。字典是一种高效的数据结构,可以用于快速查找和检索数据。

1.创建字典

可以使用大括号 {} 或者 dict() 函数来创建一个字典。字典中的键是唯一的,且必须是不可变的(如字符串、数字或元组),而值可以是任意类型的对象。

下面是创建字典的几种方式:

# 使用大括号创建空字典

my_dict = {}



# 使用大括号创建带有键值对的字典

my_dict = {'key1': 'value1', 'key2': 'value2', 'key3': 'value3'}



# 使用 dict() 函数创建带有键值对的字典

my_dict = dict(key1='value1', key2='value2', key3='value3')



# 从列表创建字典,列表中的元素是由键值对组成的元组

my_dict = dict([('key1', 'value1'), ('key2', 'value2'), ('key3', 'value3')])

2.访问字典中的值

可以使用方括号 [] 来访问字典中的值,将键作为索引传递给字典即可获取对应的值。

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



print(my_dict['name'])  # 输出: Alice

print(my_dict['age'])   # 输出: 25

print(my_dict['city'])  # 输出: New York

如果访问不存在的键,会触发 KeyError 异常。可以使用 get() 方法来避免异常,如果键不存在,get() 方法会返回指定的默认值。

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



print(my_dict.get('name'))         # 输出: Alice

print(my_dict.get('gender', 'N/A')) # 输出: N/A,键'gender'不存在,返回默认值'N/A'

3.修改字典

字典中的值是可变的,可以通过键来修改字典中的值。

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



my_dict['age'] = 26  # 修改键'age'对应的值为26

print(my_dict)      # 输出: {'name': 'Alice', 'age': 26, 'city': 'New York'}

如果键不存在,赋值操作会创建一个新的键值对。

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



my_dict['gender'] = 'female'  # 键'gender'不存在,创建新的键值对

print(my_dict)               # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'gendder': 'female'}

4.删除字典元素

可以使用 del 关键字来删除字典中的元素,通过指定要删除的键来完成删除操作。

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



del my_dict['age']  # 删除键'age'及其对应的值

print(my_dict)     # 输出: {'name': 'Alice', 'city': 'New York'}

如果尝试删除不存在的键,会触发 KeyError 异常。可以使用 pop() 方法来删除键,并返回对应的值,如果键不存在,pop() 方法会返回指定的默认值。

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



removed_age = my_dict.pop('age')  # 删除键'age'及其对应的值,并返回被删除的值

print(my_dict)                   # 输出: {'name': 'Alice', 'city': 'New York'}

print(removed_age)               # 输出: 25



removed_gender = my_dict.pop('gender', 'N/A')  # 键'gender'不存在,返回默认值'N/A'

print(removed_gender)                          # 输出: N/A

还可以使用 popitem() 方法删除字典中的最后一个键值对,并返回被删除的键值对。



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



removed_item = my_dict.popitem()  # 删除最后一个键值对,并返回被删除的键值对

print(my_dict)                    # 输出: {'name': 'Alice', 'age': 25}

print(removed_item)               # 输出: ('city', 'New York')

5.字典的常用操作

遍历字典

可以使用 for 循环遍历字典的键或值,或者同时遍历键和值。

遍历键:

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



for key in my_dict:

    print(key)  # 输出: name, age, city

遍历值:

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



for value in my_dict.values():

    print(value)  # 输出: Alice, 25, New York

遍历键和值:

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



for key, value in my_dict.items():

    print(key, value)  # 输出: name Alice, age 25, city New York

6.检查键是否存在

可以使用 in 关键字来检查某个键是否存在于字典中。

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



print('name' in my_dict)     # 输出: True

print('gender' in my_dict)   # 输出: False

7.获取字典长度

在Python中,可以使用len()函数来获取字典的长度,即键值对的数量。以下是使用示例:

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

length = len(my_dict)

print(length)  # 输出: 3

在上述示例中,len(my_dict)返回字典my_dict中键值对的数量,即3。

字典的常用方法

除了上述提到的 get()、pop()、popitem() 方法外,字典还提供了其他常用方法:

1.clear(): 清空字典中的所有键值对。

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

my_dict.clear()

print(my_dict)  # 输出: {}

2.copy(): 创建字典的副本(浅拷贝)。

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

new_dict = my_dict.copy()

print(new_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York'}

3.update(): 将一个字典的键值对更新到另一个字典中。

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

new_data = {'city': 'New York', 'gender': 'female'}

my_dict.update(new_data)

print(my_dict)  # 输出: {'name': 'Alice', 'age': 25, 'city': 'New York', 'gender': 'female'}

4.keys(): 返回一个包含字典所有键的视图(类似于列表)。

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

keys = my_dict.keys()

print(keys)  # 输出: dict_keys(['name', 'age', 'city'])

5.values(): 返回一个包含字典所有值的视图(类似于列表)。

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

values = my_dict.values()

print(values)  # 输出: dict_values(['Alice', 25, 'New York'])

6.items(): 返回一个包含字典所有键值对的视图(类似于列表中的元组)。

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

items = my_dict.items()

print(items)  # 输出: dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])

这些方法提供了字典常用的操作,可以根据需要选择使用。

除了内置的字典方法,还可以使用条件语句、循环等结构来处理字典,以实现更复杂的操作。

当处理字典时,可以使用条件语句(如if语句)和循环结构(如for循环)来执行不同的操作。下面是一些示例:

1.使用条件语句处理字典

可以使用条件语句来检查字典中的特定键是否存在,或根据键值对的值执行不同的操作。

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



# 检查键是否存在

if 'name' in my_dict:

    print("Name:", my_dict['name'])

else:

    print("Name not found")



# 根据值执行不同操作

if my_dict['age'] >= 18:

    print("Adult")

else:

    print("Minor")

在上述示例中,首先使用条件语句检查键’name’是否存在于字典中,然后根据键值对的值判断一个人是否成年。

2.使用循环处理字典

可以使用循环结构遍历字典的键、值或键值对,并执行相应的操作。

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



# 遍历键

for key in my_dict:

    print("Key:", key)



# 遍历值

for value in my_dict.values():

    print("Value:", value)



# 遍历键值对

for key, value in my_dict.items():

    print("Key:", key, "Value:", value)

在上述示例中,分别使用循环遍历字典的键、值和键值对,并打印相应的信息。

除了常规的for循环外,还可以使用字典推导式来处理字典。

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

# 使用字典推导式创建新字典

new_dict = {key: value for key, value in my_dict.items() if key != 'age'}

print(new_dict)

在上述示例中,使用字典推导式创建了一个新字典new_dict,其中排除了键为’age’的键值对。

这些是使用条件语句、循环等结构处理字典的一些常见方法,可以根据具体需求进行调整和扩展。

在这里插入图片描述

-END-


读者福利:知道你对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python永久使用安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

▍学习资源推荐

零基础Python学习资源介绍

👉Python学习路线汇总👈
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(学习教程文末领取哈)
在这里插入图片描述

👉Python必备开发工具👈
在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

👉100道Python练习题👈
检查学习结果。
在这里插入图片描述
👉面试刷题👈
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

资料领取

上述这份完整版的Python全套学习资料已经上传CSDN官方,朋友们如果需要可以微信扫描下方CSDN官方认证二维码输入“领取资料” 即可领取。

  • 20
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值