python字典的应用

本文介绍了Python字典的作用、特点以及操作,包括增、删、改、查等,并探讨了字典在实际生活中的应用,如保存学生或班级信息。此外,还讲解了字典的拷贝问题,如浅拷贝和深拷贝的差异。
摘要由CSDN通过智能技术生成

一、认识字典

1. 字典的作用

需求:定义一个变量保存一个学生的信息
stu = ['小明', 32, '电子信息', 170, 80, 90]
print(stu[1])

stu = {
   
    'name': '小明',
    'age': 32,
    '专业': '电子信息',
    'height': 170,
    'weight': 80,
    'score': 90
}
print(stu['age'])  #32

2. 字典和列表的选择

如果要保存多个意义不同的数据,就使用字典;要保存多个意义相同的数据就用列表

3.什么是字典(dict)

字典是系统类型,属于容器型数据类型(序列);
将{}作为容器的标志,里面多个键值对(元素)用逗号隔开: {键1:值1, 键2:值2, 键3:值3, …}

字典是可变(支持增删改);字典是无序(不支持下标操作;顺序不影响结果)

键 - 键必须是不可变类型的数据(数字、字符串、布尔、空值、元组); 键唯一(同一个字典中同一个键只能出现一次)
值 - 没有要求(任何类型的数据)

字典无序
print({
   'a': 10, 'b': 20} == {
   'b': 20, 'a': 10})     # True
键不可变
dict1 = {
   10: 20, 'a': 30, (10, 20): 40}

dict2 = {10: 20, ‘a’: 30, [10, 20]: 40} # 报错

键唯一
dict3 = {
   'a': 10, 'b': 20, 'a': 30}
print(dict3)        # {'a': 30, 'b': 20}

在这里插入图片描述

空字典

dict4 = {}

二、字典的查操作

字典存储数据真正想要保存的是值,键只是用来对值进行区分和说明的(相当于列表中元素的下标)

1. 查单个 - 获取单个值

1)字典[键] - 获取字典中指定键对应的值,如果键不存在程序会报错
2)字典.get(键) - 获取字典中指定键对应的值,如果键不存在不会报错并且会返回None
3)字典.get(键, 默认值) - 获取字典中指定键对应的值,如果键不存在不会报错并且会返回默认值

dog = {
   'name': '旺财', 'age': 3, 'type': '土狗', 'price': 30000, 'color': '黄色'}

print(dog['type'])
print(dog['name'])
print(dog['weight'])        # KeyError: 'weight'

print(dog.get('price'))
print(dog.get('color'))
print(dog.get('weight'))        # None

print(dog.get('age', 0))
print(dog.get('color', '白色'))
print(dog.get('weight', 5))         # 5

在这里插入图片描述

2.生活中列表和字典

需求:结合实际定义一个变量保存一个班级的信息
班级信息:班级名、教室、讲师、班主任、学生
定义表:

class1 = {
   
    'className': '一年级',
    'classRoom': '20',
    'lecturer': {
   'name': '狗子', 'age':
1. 创建一个字典,包含你的姓名、年龄、性别和国籍。 ```python my_info = {'name': 'Alice', 'age': 25, 'gender': 'female', 'nationality': 'China'} ``` 2. 给定一个字典,输出它的所有键和值。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key, value in my_dict.items(): print(key, value) ``` 3. 给定一个字典,输出它的所有键。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key in my_dict.keys(): print(key) ``` 4. 给定一个字典,输出它的所有值。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for value in my_dict.values(): print(value) ``` 5. 给定一个字典,删除键为 'a' 的键值对。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} del my_dict['a'] ``` 6. 给定两个字典,将它们合并为一个字典。 ```python dict1 = {'a': 1, 'b': 2} dict2 = {'c': 3, 'd': 4} merged_dict = {**dict1, **dict2} ``` 7. 给定一个字典,判断它是否包含键 'a'。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} if 'a' in my_dict: print('Yes') else: print('No') ``` 8. 给定一个字典,判断它是否包含值为 2 的键值对。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} if 2 in my_dict.values(): print('Yes') else: print('No') ``` 9. 给定一个字典,返回它的长度(即键值对的个数)。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} length = len(my_dict) ``` 10. 给定一个字典,将它的所有值加上10。 ```python my_dict = {'a': 1, 'b': 2, 'c': 3} for key in my_dict: my_dict[key] += 10 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喆子玩点数据

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值