Python学习之路——数据容器部分【字典(dict)】

2024-01-03 01:59:07

目录

一、定义

?(一)代码示例

二、字典数据的获取

三、嵌套字典的定义

(一)需求

(二)框架

(三)代码

四、字典的常用操作

(一)功能总览

(二)代码示例

(三)练习案例

1、创建商品信息字典

2、遍历判断是否符合条件

3、整体代码

五、总的来说

(一)字典的创建:

(二)字典的访问:

(三)字典的修改:

(四)字典的遍历:


?

一、定义

Python字典是一种键值对集合,用于存储和检索数据。他是一个无序的键值对集合,其中键是唯一的,值可以是任何数据类型,如:整数、浮点数、字符串、列表、元组等。

?(一)代码示例

字典的创建可以通过大括号{}或者dict函数来实现

def func01():
    # 定义字典字面量
    {1: 2, 3: 4, 5: 6}

    # 定义字典变量
    my_dict01 = {1: '张三', 2: '李四', 3: '王五'}

    # 定义空字典
    my_dict02 = {}
    my_dict03 = dict()

    # 定义重复 key 的字典
    my_dict04 = {1: '张三', 2: '李四', 3: '王五', 1: '赵六'}
    print(my_dict04[1])

重复 key 的结果

可以发现,虽然不会报错,但是 后面 的 value 值会将 前面 的 value 值覆盖掉??

字面量icon-default.png?t=N7T8https://blog.csdn.net/weixin_57154777/article/details/133385706?spm=1001.2014.3001.5501

二、字典数据的获取

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

def func02():
    my_dict = {'小明': 10, '小红': 12, '小刚': 13}
    age = my_dict['小明']
    print(f'指定人物的年龄为:{age}')

三、嵌套字典的定义

(一)需求

某IT公司进行秋招,HR在看简历的时候,看到如下信息

????????张三,男,掌握Python、C++

????????李四,女,掌握Python、Java

????????王五,男,掌握Python,Ps

????????赵六,女,掌握Python、PHP

现你将如上信息进行归总(必须使用字典)

(二)框架

(三)代码

    person_data = \
        {
            '张三': {'男': {'Python': 'C++'}},
            '李四': {'女': {'Python': 'Java'}},
            '王五': {'男': {'Python': 'Ps'}},
            '赵六': {'女': {'Python': 'PHP'}}
        }

四、字典的常用操作

(一)功能总览

编号操作说明
1字典[key]获取指定key对应的value值
2字典[key] = value添加或更新键值对
3字典.pop(key)去除key对应的value并在字典内删除此key的键值对
4字典.clear()清空字典
5字典.keys()获取字典的全部key,可用于for循环遍历字典
6len(字典)计算字典内的元素数量

(二)代码示例

def func04():
    my_dict01 = {1: '张三', 2: '李四', 3: '王五'}
    # 访问字典中的键值对
    name = my_dict01[1]
    print(f'指定序号的名字为:{name}')

    # 判断字典中是否存在某个键
    # 通过 键 进行判断
    if 1 in my_dict01.keys():
        print('字典中存在指定元素')
    else:
        print('字典中不存在指定元素')

    # 通过 值 进行判断
    if '张三' in my_dict01.values():
        print('字典中存在指定元素')
    else:
        print('字典中不存在指定元素')

    # 添加或更新键值对
    # 添加键值对
    my_dict01[4] = '赵六'
    print(f'添加元素之后:{my_dict01}')

    # 更新键值对
    my_dict01[1] = '老张'
    print(f'更新字典内容后:{my_dict01}')

    # 去除key对应的value并在字典内删除此key的键值对
    my_dict01.pop(1)
    print(f'去除指定key之后:{my_dict01}')

    my_dict02 = {'小明': 10, '小红': 12, '小刚': 13}
    # 获取字典的全部的键值对
    print(f'字典内全部的键值对为:{my_dict02.items()}')

    # 获取字典内的元素数量
    my_len = len(my_dict02)
    print(f'字典内的元素数量为:{my_len}')

(三)练习案例

某商场有一些货物,为了使得盈利最大化,现将库存量小于40的商品进行价格上涨10%,库存量小于20的上涨20%,库存量小于5%的上涨40%

1、创建商品信息字典

commodity_information = \
    {
        '商品A': {'inventory': 100, 'price': 800},
        '商品B': {'inventory': 620, 'price': 520},
        '商品C': {'inventory': 150, 'price': 60},
        '商品D': {'inventory': 40, 'price': 40},
        '商品E': {'inventory': 1000, 'price': 200},
        '商品F': {'inventory': 4, 'price': 5000}
    }

2、遍历判断是否符合条件

count = 0
for information in commodity_information.values():
    count += 1
    if information['inventory'] <= 40:
        information['price'] *= 1.1
    elif information['inventory'] <= 20:
        information['price'] *= 1.2
    elif information['inventory'] <= 5:
        information['price'] *= 1.4
    else:
        print(f'第{count}件商品库存数量正常,不对价格进行修改')
print(f'新商品信息{commodity_information}')

3、整体代码

def func05():
    commodity_information = \
        {
            '商品A': {'inventory': 100, 'price': 800},
            '商品B': {'inventory': 620, 'price': 520},
            '商品C': {'inventory': 150, 'price': 60},
            '商品D': {'inventory': 40, 'price': 40},
            '商品E': {'inventory': 1000, 'price': 200},
            '商品F': {'inventory': 4, 'price': 5000}
        }
    print(f'原商品信息:{commodity_information}')
    count = 0
    for information in commodity_information.values():
        count += 1
        if information['inventory'] <= 40:
            information['price'] *= 1.1
        elif information['inventory'] <= 20:
            information['price'] *= 1.2
        elif information['inventory'] <= 5:
            information['price'] *= 1.4
        else:
            print(f'第{count}件商品库存数量正常,不对价格进行修改')
    print(f'新商品信息{commodity_information}')

五、总的来说

Python 字典是一种键值对集合,可以用来存储和检索数据。它是一种动态数据类型,可以随时添加、删除或修改键值对。

(一)字典的创建:

  1. 使用花括号?{}?创建一个空字典
  2. 使用键值对的方式创建字典,例如?{'key': 'value'}

(二)字典的访问:

  1. 使用键来访问字典中的值,例如?dict[key]
  2. 使用?in?关键字检查字典中是否存在某个键

(三)字典的修改:

  1. 使用键来修改字典中的值,例如?dict[key] = value
  2. 使用?del?关键字删除字典中的键值对,例如?del dict[key]

(四)字典的遍历:

  1. 使用?keys()?方法遍历字典中的所有键
  2. 使用?values()?方法遍历字典中的所有值
  3. 使用?items()?方法遍历字典中的所有键值对

文章来源:https://blog.csdn.net/weixin_57154777/article/details/135302029
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。