📝前言:
今天我们来学习一下python中的常见数据容器之一——字典
1,字典的特点及定义
2,字典的引用操作
3,字典的常见操作方法

🎬个人简介:努力学习ing
📋个人专栏:C语言入门基础以及python入门基础
🎀CSDN主页 愚润求学
🌄每日鸡汤:杀不死我的,都将使我更加强大


一,字典的特点及其定义

1,字典的特点:

1,可以容纳多个数据,并且数据的类型可以不同
2,每一份数据都是以key-value键值对的形式存在(这就是键值对映射)
3,可以通过key获得value
4,不是序列,不支持下标索引
5,可以修改

2,字典的定义

字典的定义使用花括号 {},其中的键和值用冒号 : 分隔。
和值可以是任何类型的对象,例如整数、浮点数、字符串、列表、元组或另一个字典。
但是,字典的键必须是不可变的,类似列表或者字典这种可变的就不能做字典的键

示例:

# 定义一个包含三组键值对的字典
my_dict = {"name": "Alice", "age": 25, "city": "New York"}

# 定义空字典
my_dict = {}  # 方式一
my_dict = set()  # 方式二

# 定义嵌套字典 (即键的值对应的又是字典)
nested_dict = {
    "colors": {
        "red": "#FF0000",
        "green": "#00FF00",
        "blue": "#0000FF"
    },
    "shapes": {
        "circle": "⚪",
        "square": "⚫",
        "triangle": "⚓"
    }
}
# 在这个示例中,nested_dict 是一个包含两个子字典的嵌套字典。
# 子字典 "colors" 的键是颜色,子字典 "shapes" 的键是形状。每个子字典中都包含一些值。

二,字典的引用

字典不可以通过下标索引来获取值,但是可以通过key来获取
语法:

字典[]

示例(使用上面创造的嵌套字典):

nested_dict = {
    "colors": {
        "red": "#FF0000",
        "green": "#00FF00",
        "blue": "#0000FF"
    },
    "shapes": {
        "circle": "⚪",
        "square": "⚫",
        "triangle": "⚓"
    }
}

# 取colors这个键对应的值:
print(nested_dict["colors"])

# 要取内层字典colors里面的red对应的值:
print(nested_dict["colors"]["red"])  # 这种写法类似取嵌套的列表里面的值

输出结果:
在这里插入图片描述
(可见:colors是嵌套的内层字典)

三,字典的常用操作

1,修改字典中key所对应的值

语法:

字典[key] = value # 这个就类似我们修改列表对应下标的元素

需要注意的是:当key不存在的时候,字典会自动添加一个新的键值对
(而在列表里面,当访问不存在的下标时,即越界,则会报错)

示例:

# 创建成员字典,假设每个键值对是成员和他们对应的年龄
member_dict = {"小红":21, "小黄":17, "小绿":35}

# 修改小红的年龄
member_dict["小红"] = 24

# 添加一个小黑,对应41岁
member_dict["小黑"] = 41

# 打印修改和添加完以后的字典
print(member_dict)

输出结果:
在这里插入图片描述
可见:小红被修改了;小黑被添加了

2,删除和清空元素(pop、clear)

(1)删除元素(直接修改原字典)
pop() 方法是字典的一个内置方法,用于删除字典中指定的键所对应的值,并且返回那个值。
但是👇🏻
1,如果不指定键,则会删除字典中的最后一个键值对,并返回该值。
2,如果没有找到指定的键,则抛出KeyError异常。

下面是使用pop的示例:

# 假设有一个字典叫做 dict
dict = {'a': 1, 'b': 2, 'c': 3}

# 删除键 'a' 对应的值,并返回这个值
value = dict.pop('a')
# 此时 dict 变成了 {'b': 2, 'c': 3}

# 如果不指定键,则删除并返回最后一个键值对
value = dict.pop()
# 此时 dict 变成了 {'b': 2}

# 如果删除的键不存在,则会抛出 KeyError,如:
# value = dict.pop('d')  # 这会抛出 KeyError,因为 'd' 键不存在

对于键不存在的时候,还有第二种情况:
pop() 方法还可以接收一个默认值作为参数,如果指定的键不存在,则返回这个默认值,而不是抛出异常

dict = {'a': 1, 'b': 2, 'c': 3}
# 删除键 'd',如果没有找到则返回默认值 0
default_value = dict.pop('d', 0)
# 此时 dict 保持不变,因为没有找到键 'd',default_value会接收到被设置的默认返回值0

(2)清空元素
clear()方法同样可以用来清空字典
示例:

member_dict = {"小红":21, "小黄":17, "小绿":35}
# 清空字典
member_dict.clear()
print(member_dict)  # 输出 {}

3,获得全部的键(keys())

字典中的keys()方法可以用来获取这个字典里面全部的键,返回的是一个dict_keys对象
语法:

字典.keys()  # 注意括号不能漏

示例:

member_dict = {"小红":21, "小黄":17, "小绿":35}
all_keys = member_dict.keys()
print(all_keys)  # 输出 dict_keys(['小红', '小黄', '小绿'])

# 将keys()结合for循环来使用,可以实现遍历字典的每一个键
for key in member_dict.keys():
    print(key)  # 输出 小红 小黄 小绿 

# 也可以直接使用for来遍历字典中的每一个键
for key in member_dict:
    print(key, end=" ")  # 输出 小红 小黄 小绿 

4,获取所有键值对(items())

items() 方法是字典对象的一个内置方法,用于返回一个包含所有字典键值对的可迭代对象dict_items(它和dict_keys都不是普通的列表)。
每个元素是一个键值对组成的元组(key, value)。

下面是 items() 方法的一些基本用法:

# 使用 items() 方法获取字典中所有键值对的列表
dict = {'a': 1, 'b': 2, 'c': 3}
items = dict.items()
print(items)  # 输出dict_items([('a', 1), ('b', 2), ('c', 3)])

# 我们同样可以使用for循环去遍历它:
for i in items:
    print(i, end=" ")
    # 输出 ('a', 1) ('b', 2) ('c', 3) 

四,总结

在这里插入图片描述


🌈我的分享也就到此结束啦🌈
要是我的分享也能对你的学习起到帮助,那简直是太酷啦!
若有不足,还请大家多多指正,我们一起学习交流!
📢公主,王子:点赞👍→收藏⭐→关注🔍
感谢大家的观看和支持!祝大家都能得偿所愿,天天开心!!!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐