python--数据容器--字典

目录

字典的定义

字典key 获取value

字典的嵌套

 字典的常用操作

 新增元素

更新元素

删除元素

清空字典

获取全部的key


字典的定义

字典同样适用{} 不过存储的元素是一个个的:键值对,如下语法

# 定义字典字面量
{key:value, key:value,....,key:value}

# 定义字典变量
my_dict = {key: value, key: value ,.....}

#定义空字典

my_dict = {}       #空字典定义方式1
my_dict = dict()   #空字典定义方式2

字典key 获取value

字典同集合一样,不可以使用下标索引

但是字典可以通过key值取得对应的Value

字典的嵌套

字典的key和value 可以是任意数据类型 key不可为字典

那么就表明字典是可以嵌套的

"""
    演示数据容器字典的定义
"""

# 定义字典
my_dict1 = {"wanglihong": 99, "miaowing": 100, "xiaolan": 98}

#  定义空字典
my_dict2 = {}
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型:{type(my_dict3)}")

# 定义重复key的字典
# 字典不允许key 重复

# 从字典中基于key获取value
my_dict1 = {"wanglihong": 99, "miaowing": 100, "xiaolan": 98}
print(my_dict1["wanglihong"])
# 定义嵌套字典
stu_score_dict = {
    "wanglihong":{
        "yuwen":77,
        "shuxue":123,
        "yingyu":121
    },
    "zhoujielun":{
        "yuwen": 79,
        "shuxue": 1233,
        "yingyu": 1213
    },
    "linjunjie":{
        "yuwen": 78,
        "shuxue": 113,
        "yingyu": 111
    }
}
print(stu_score_dict)
# 从嵌套字典中获取数据

#看zhoujielun的语文信息
score = stu_score_dict["zhoujielun"]["yuwen"]
print(score)
字典1的内容是:{'wanglihong': 99, 'miaowing': 100, 'xiaolan': 98},类型:<class 'dict'>
字典2的内容是:{},类型:<class 'dict'>
字典3的内容是:{},类型:<class 'dict'>
99
{'wanglihong': {'yuwen': 77, 'shuxue': 123, 'yingyu': 121}, 'zhoujielun': {'yuwen': 79, 'shuxue': 1233, 'yingyu': 1213}, 'linjunjie': {'yuwen': 78, 'shuxue': 113, 'yingyu': 111}}
79

 字典的常用操作

 新增元素

语法: 字典.[key] = value

结果 字典被修改,新增了元素

更新元素

语法:字典[key]  = value

结果:字典被修改 元素被更新

注意: 字典key 不可以重复 所以对已存在的key 执行上述操作 就是更新value 值

删除元素

语法:字典.pop(key),结果:获得指定key的value 同时字典被修改 指定key 的数据被删除

清空字典

语法:字典.clear() 结果:字典被修改 元素被清空

获取全部的key

        语法:字典.keys(). 

        结果:得到字典中的全部的key

"""
演示字典常用操作
"""

my_dic = {"zhoujielun": 99, "linjunjie": 88, "zhangxueyou": 77, "zhangxinzhe": 66}

# 新增元素
print(my_dic)
# 更新元素
my_dic["zhoujielun"] = 33
print(my_dic)
# 删除元素
score = my_dic.pop("zhoujielun")
print(score)
print(my_dic)


# 清空元素
my_dic.clear()
print(my_dic)
# 获取全部的key


my_dic = {"zhoujielun": 99, "linjunjie": 88, "zhangxueyou": 77, "zhangxinzhe": 66}
keys= my_dic.keys()
print(f"字典的全部keys是{keys}")


# 遍历字典

# 方式1 通过获取到全部的key来完成遍历
for key in keys:
    print(f"字典的key是{key}")
    print(f"字典的value是{my_dic[key]}")

# 方式2 直接对字典进行for 循环 每一次循环都是直接得到Key
for key in my_dic:
    print(key)
    print(my_dic[key])
# 统计字典内的元素数量

num = len(my_dic)
print(num)
{'zhoujielun': 99, 'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
{'zhoujielun': 33, 'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
33
{'linjunjie': 88, 'zhangxueyou': 77, 'zhangxinzhe': 66}
{}
字典的全部keys是dict_keys(['zhoujielun', 'linjunjie', 'zhangxueyou', 'zhangxinzhe'])
字典的key是zhoujielun
字典的value是99
字典的key是linjunjie
字典的value是88
字典的key是zhangxueyou
字典的value是77
字典的key是zhangxinzhe
字典的value是66
zhoujielun
99
linjunjie
88
zhangxueyou
77
zhangxinzhe
66
4

Process finished with exit code 0

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值