python_day4_dict

本文介绍了Python中的字典数据结构,包括创建空字典、通过键获取值、字典的嵌套使用、添加和更新元素、删除元素、获取元素数量、遍历字典以及如何进行特定条件的操作,如将level为1的学生信息升级。示例代码详细展示了这些操作的实现。
摘要由CSDN通过智能技术生成

字典dict:键值对(无重复,无下标索引)

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
my_dict2 = {}  # 空字典
my_dict3 = dict()
print(f"my_dict:{my_dict},类型为:{type(my_dict)}")
print(f"my_dict2:{my_dict2},类型为:{type(my_dict2)}")
print(f"my_dict3:{my_dict3},类型为:{type(my_dict3)}")

在这里插入图片描述

基于key获取value

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
print(f"python对应的value值为:{my_dict['python']}")

在这里插入图片描述

字典的嵌套:key和value可为任意数据类型,但key不可为字典

典中典

my_dict_dict = {
    "jay": {"java": 99, "python": 88, "c": 77},
    "jake": {"java": 98, "python": 87, "c": 76},
    "zhou": {"java": 97, "python": 86, "c": 75},
    "Hua": {"java": 99, "python": 88, "c": 77}
}
print(my_dict_dict)
print(my_dict_dict["jay"])
print(my_dict_dict["jay"]["python"])

在这里插入图片描述

新增/更新元素

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
my_dict['python3'] = 100
print(f"新增后:{my_dict}")
my_dict['python3'] = 60
print(f"更新后:{my_dict}")

在这里插入图片描述

删除元素,pop()方法:按key获取value并去除此键值对

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
value = my_dict.pop('python')
print(f"删除value:{value}后,my_dict:{my_dict}")
# 清空
my_dict.clear()
print(my_dict)

在这里插入图片描述

字典元素数量

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
print(f"字典元素数量为:{len(my_dict)}")

在这里插入图片描述

获取字典全部的key,遍历字典

keys()方法

# 获取字典全部的key
my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
keys = my_dict.keys()
print(f"字典全部的key有:{keys},数据类型为:{type(keys)}")
# 遍历字典
for key in keys:
    print(f"key:{key}对应的value:{my_dict[key]}")

在这里插入图片描述

方法二:直接对字典for循环遍历

my_dict = {'python': 99, 'java': 88, 'c': 77, 'c++': 66}
for key in my_dict:
    print(f"key:{key}对应的value:{my_dict[key]}")

在这里插入图片描述

案例,将level为1的学生升一级,并将其python分数加10

my_dict_dict = {
    "jay": {"java": 99, "python": 88, "c": 77, "level": 1},
    "jake": {"java": 98, "python": 87, "c": 76, "level": 2},
    "zhou": {"java": 97, "python": 86, "c": 75, "level": 1},
    "Hua": {"java": 99, "python": 88, "c": 77, "level": 3}
}
print(f"更新前:{my_dict_dict}")
for name in my_dict_dict:
    if my_dict_dict[name]["level"] == 1:
        my_dict_dict[name]["level"] += 1
        my_dict_dict[name]["python"] += 10
print(f"更新后:{my_dict_dict}")

在这里插入图片描述

小结

在这里插入图片描述

列表list 元组tuple 字符串str 集合set 字典dict通用操作

max()最大元素 min()最小元素,注意字符串比较参照ASCII码表的码值(控制字符<空格<数字<大写字母<小写字幕)

容器类型转换函数(字典可转换为其他类型,但可能会丢失value,其他类型不可转为字典)

'''
list()
tuple()
str()
set()
'''

容器排序函数:sorted(容器类型,reverse=Ture),排序结果会放入列表对象中;reverse=Ture表示逆序,不写默认正序

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值