python容器之字典

python容器之字典
"""
字典的定义, 同样使用{}, 不错存储的元素是一个个的: 键值对, 语法如下:
# 定义字典字面量
{key:vlaue, ..., key: value}
# 定义字典变量
my_dict = {key:vlaue, ..., key: value}
# 定义空字典, 有如下2种方式:
my_dict = {}
my_dict = dict()
"""
# 定义空字典
my_dict2 = {}
my_dict3 = dict()
print(f"字典my_dict2的内容是: {my_dict2}, 类型是: {type(my_dict2)}")
print(f"字典my_dict3的内容是: {my_dict3}, 类型是: {type(my_dict3)}")

# 定义字典
my_dict = {"张三": 18, "李四": 20}
print(f"字典my_dict的内容是: {my_dict}, 类型是: {type(my_dict)}")

# 定义重复key的字典(覆盖掉原来的值)
my_dict = {"张三": 18, "李四": 20, "李四": 22}
print(f"重复key的字典的内容是: {my_dict}")

# 从字典中基于key获取val
age = my_dict["张三"]
print(f"张三的年龄是: {age}")
age = my_dict["李四"]
print(f"李四的年龄是: {age}")

# 字典的嵌套
my_dict = {
    "张三": {
        "语文": 80,
        "数学": 79,
        "英语": 98
    },
    "李四": {
        "语文": 76,
        "数学": 89,
        "英语": 90
    },
    "王五": {
        "语文": 90,
        "数学": 96,
        "英语": 60
    }
}
print(f"打印嵌套字典 my_dict 的内容: {my_dict}")

# 获取张三的语文成绩
score = my_dict.get("张三").get("语文")
print(f"从字典my_dict中获取张三的语文成绩为: {score}")

# 修改张三的数学成绩
my_dict = {"张三": {"语文": 80, "数学": 79, "英语": 98}}
my_dict.get("张三")["数学"] = 100
print(f"修改张三的数学成绩: {my_dict}")

# 新增元素
my_dict["孙2狗"] = {"语文": 70, "数学": 72, "英语": 79}
print(f"字典新增元素: {my_dict}")

# 遍历字典
# 获取字典全部的key
keys = my_dict.keys()
for key in keys:
    print(f"字典的key是: {key}")
    print(f"字典的val是: {my_dict.get(key)}")
    print(f"字典的val是: {my_dict[key]}")

# 统计字典内的元素数量
print(f"输出字典内的元素数量: {len(my_dict)}")

# 练习
"""
字典练习:
有 如下员工信息, 请使用字典完成数据的记录。
并通过for循环, 对所有级别为1级的员工, 级别上升1级, 薪水增加1000元
姓名  部门   工资   级别
张三  科技部  3000   1
李四  市场部  5000   2
王五  市场部  7000   3
赵六  科技部  4000   1
田七  市场部  6000   2
"""
# 定义字典
my_dict = {
    "张三": {"部门": "科技部", "工资": 3000, "级别": 1},
    "李四": {"部门": "市场部", "工资": 5000, "级别": 2},
    "王五": {"部门": "市场部", "工资": 7000, "级别": 3},
    "赵六": {"部门": "科技部", "工资": 4000, "级别": 1},
    "田七": {"部门": "市场部", "工资": 6000, "级别": 2}
}
print(f"全体员工当前信息如下: \n {my_dict}")

for key in my_dict.keys():
    tmp_dict = my_dict.get(key)
    level = tmp_dict.get("级别")
    if level == 1:
        tmp_dict["级别"] = level + 1
        salary = tmp_dict.get("工资") + 1000
        tmp_dict["工资"] = salary

print(f"全体员工级别为1的员工完成升值加薪操作, 操作后: \n {my_dict}")


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在Python中,列表和字典是两种常用的数据结构。列表是有序的可变序列,可以存储多个元素,每个元素可以是不同的数据类型。可以使用len()函数来获取列表的长度,该函数返回列表中元素的个数。例如,对于一个列表fc={'lily':5,'lucy':9},可以使用len(fc)来获取列表fc的长度,结果为2。\[1\] 字典是一种无序的可变容器,由键值对组成。每个键值对都是一个键和一个对应的值。可以使用len()函数来获取字典的长度,该函数返回字典中键值对的个数。另外,可以使用values()方法来获取字典的所有值,它返回一个包含字典所有值的列表的视对象。例如,对于一个字典dict_data = {1: 1, 2: 2, 3: 4},可以使用dict_data.values()来获取字典dict_data的所有值,结果为dict_values(\[1, 2, 4\])。\[2\] 在Python中,可以使用update()方法将一个字典中的键值对添加到另一个字典中。该方法接受一个字典作为参数,将该字典中的键值对添加到当前字典中。如果两个字典中存在相同的键,则更新当前字典中的值。例如,对于两个字典dict_data1 = {1: 1, 2: 2}和dict_data2 = {1: 4, 4: 5},可以使用dict_data1.update(dict_data2)将字典dict_data2中的键值对添加到字典dict_data1中,结果为{1: 4, 2: 2, 4: 5}。\[3\] 总结来说,列表是有序的可变序列,可以使用len()函数获取列表的长度。字典是无序的键值对容器,可以使用len()函数获取字典的长度,使用values()方法获取字典的所有值,使用update()方法将一个字典中的键值对添加到另一个字典中。 #### 引用[.reference_title] - *1* [python列表和字典](https://blog.csdn.net/eric3012/article/details/119960458)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [python列表和字典使用(详细)](https://blog.csdn.net/Fran_klin__/article/details/125145194)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值