python入门:第七天

python入门:第七天

1. 字典的定义

键值对

通过字典,实现通过key查找Value的操作

1.1 字典的定义

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

my_dict = {} 这个是定义空字典

my_set = set()这个是集合唯一定义空集合方式

对于字典来说,key的值是不能重复的,如果重复就会发生覆盖,如下:

my_dict = {'a':99,'a':85,'c':88}
print(my_dict)
# 结果为 {'a': 85, 'c': 88}

后面的会覆盖前面的

字典同集合一样,不可以使用下标索引但是可以通过key值来取得对应的Value

my_dict = {'a':99,'b':85,'c':88}
print(my_dict['a'])
# 99
print(my_dict['b'])
# 85
print(my_dict['c'])
# 88

1.2 字典的嵌套

字典的key和Value可以是任意数据类型**(key不可为字典)**

image-20221004201804520

stu_score_dict = {
    "A":{
        "语文":77,
        "数学":66,
        "英语":33
    }, "B":{
        "语文":88,
        "数学":86,
        "英语":55
    }, "C":{
        "语文":99,
        "数学":96,
        "英语":66
    }
}
print(stu_score_dict["A"]["语文"])

1.3 字典的常用操作

1.3.1 新增和修改

语法:字典[key] = value 字典被修改,元素值被更新。

若key不存在 则新增数据,若key存在 则修改数据

my_dict = {"a":77,"c":88}
my_dict['b'] = 99
print(my_dict)
# {'a': 77, 'c': 88, 'b': 99}
1.3.2 删除元素

语法:字典.pop(key),将key和key对应的value删除,并返回value的值

my_dict = {"a":77,"c":88,'b':66}
kew = my_dict.pop('b')
print(kew,my_dict)
# 66 {'a': 77, 'c': 88}
1.3.3 清空字典

语法:字典.clear()

1.3.4 获取全部的key

语法:字典.keys() 返回字典中所有的key

my_dict = {"a":77,"c":88,'b':66}
print(my_dict.keys())
# dict_keys(['a', 'c', 'b'])
print(type(my_dict.keys()))
# <class 'dict_keys'>
my_dict = {"a":77,"c":88,'b':66}
for i in my_dict.keys():
    print(i,my_dict[i])

也可以直接不用keys()

my_dict = {"a":77,"c":88,'b':66}
for i in my_dict:
    print(i,my_dict[i])

直接对字典进行for循环,每一次循环都是直接得到key

1.3.5 总结

image-20221004204824525

1.4 字典特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据,key不能为字典
  • 每一份数据都是<key :value>键值对形式
  • 可以通过key获取到value,key不能重复
  • 不支持下标索引
  • 可以修改
  • 支持for循环,不支持while循环

1.5 小测验

image-20221004205821922

my_dict = {
    '王力宏':{
        '部门': '科技部',
        '工资': 3000,
        '级别': 1
    },
    '周杰伦':{
        '部门': '市场部',
        '工资': 5000,
        '级别': 2
    },
    '林俊杰':{
        '部门': '市场部',
        '工资': 7000,
        '级别': 3
    },
    '张学友':{
        '部门': '科技部',
        '工资': 4000,
        '级别': 1
    },
    '刘德华':{
        '部门': '市场部',
        '工资': 6000,
        '级别': 2
    }
}
print(f"没加工资:{my_dict}")
for i in my_dict:
    if(my_dict[i]['级别'] == 1):
        my_dict[i]['级别'] += 1
        my_dict[i]['工资'] += 1000
print(f"加完工资后:{my_dict}")

2. 数据容器的比较

image-20221004210230663

image-20221004210248186

image-20221004210752703

image-20221004210843560
image-20221004210858731

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值