Python_数据容器_字典

一、字典(映射)的定义 

生活中的字典:

【字】:【含义】

可以按【字】找出对应的【含义】

Python中的字典:

key : value

可以按照[key]找出对应的[value]

1、Python字典使用场景:

 

通过使用字典,实现用key取出value的操作  

2、字典的定义: 字典中的元素为键值对

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

字典dict中的key不允许重复

3、字典数据的获取

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

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

4、字典的嵌套

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

表明字典是可以嵌套的

需求如下:记录学生各科的考试信息  学生姓名作为key 各科成绩作为value

"""

演示数据容器字典的定义

"""

# 定义字典 key:value  --为一个元素

my_dict1 = {"moew":100,"piggy":0,"doggy":22}

# 定义空字典

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不允许重复

my_dict4 = {"piggy":100,"piggy":0,"doggy":22}

print(f"重复key的字典内容是:{my_dict4}")

# 从字典中基于key获取value

my_dict1 = {"moew":100,"piggy":0,"doggy":22}

score = my_dict1["moew"]

print(f"moew中对应的值是:{score}")

score = my_dict1["piggy"]

print(f"piggy中对应的值是:{score}")

# 定义嵌套字典

info_dict = {

    "moew":{

        '语文':88,

        '数学':90,

        '英语':100

    },"piggy":{

        '语文':78,

        '数学':80,

        '英语':90

    },"doggy":{

        '语文':68,

        '数学':70,

        '英语':60

    }

}

print(info_dict)

# 从嵌套字典中获取数据 看一下 doggy 数学

score = info_dict["doggy"]['数学']

print(f"doggy的数学:{score}")

二、字典的常用操作

1、新增元素

语法:字典[key]=Value  字典被修改 新增了元素

2、更新元素

语法:对于已存在的key 字典[key]=Value  字典被修改 新增了元素

由于字典key不可以重复 所以对已存在的key执行该操作就是更新value

3、删除元素

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

3、清空元素

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

4、获取全部的key 

语法:字典.keys()

字典的常用操作总结:

字典的特点总结:

  • 可以容纳多个数据

  • 可以容纳不同类型的数据

  • 每一分数据都是key:value键值对

  • 可以通过key取到value,key不可以重复(重复会覆盖)

  • 不支持下标索引

  • 可以修改(增加或删除更新元素等)

  • 支持for循环,不支持while循环

案例练习:

# 有如下员工 使用字典完成数据记录 使用for循环对于级别为1的员工级别上升一级 薪水增加1000元

info_dict = {'mew':{'部门':'科技部','工资':3000,'级别':1},

             'dog':{'部门':'市场部','工资':5000,'级别':2},

             'pig': {'部门': '市场部', '工资': 7000, '级别': 3},

             'rat': {'部门': '科技部', '工资': 4000, '级别': 1},

             'panda': {'部门': '市场部', '工资': 6000, '级别': 2},

             }

print(f"全体员工当前信息如下:{info_dict}")

for inf in info_dict:

        if info_dict[inf]['级别'] == 1:

            info_dict[inf]['级别'] = 2

            info_dict[inf]['工资'] += 1000





       # if tmp_dict[inf]['级别'] == '1':

print(f"全体员工级别为1的员工完成升级加薪后信息如下:{info_dict}")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值