首页 > 编程语言 >(自学#Python)Day08-字典的定义及基本操作

(自学#Python)Day08-字典的定义及基本操作

时间:2024-04-01 18:29:52浏览次数:31  
标签:Day08 name Python list dict lq print 基本操作 字典

(自学Python)Day08-字典的定义及基本操作

一、字典的定义及创建

"""
    字典dict
        定义:由一系列键值对组成的可变散列容器。
        操作:
            创建
            添加
            定位
            删除
            遍历
"""
# 1. 创建
# 列表善于存储单一维度数据
list_name = ["亦菲", "杰伦", "紫棋"]
list_age = [20, 23, 35]
list_sex = ["女", "男", "女"]
# 字典善于存储多个维度数据
# 字典名 = {键1:值,键2:值}d
dict_lq = {"name": "刘亦菲", "age": 20, "sex": "女"}
dict_zyj = {"name": "周杰伦", "age": 23, "sex": "男"}
dict_msq = {"name": "邓紫棋", "age": 35, "sex": "女"}
# 字典名 = dict(容器)
# 容器的元素必须能一分为二
dict_info = dict(list_name)
print(dict_info)

二、添加、定位、删除

"""
    字典操作
        添加
        定位
        删除
"""
dict_lq = {"name": "刘亦菲", "age": 20, "sex": "女"}
# 2. 添加
# 字典名[键] = 值
dict_lq["money"] = 1000000
# 3. 定位
# 字典名[键]
# --修改
dict_lq["age"] = 26
# --读取
if "age" in dict_lq:
    print(dict_lq["age"])  # 如果key不存在会报错
print(dict_lq)
# 4. 删除
# del 字典名[键]
del dict_lq["sex"]
print(dict_lq)

三、遍历

"""
    字典操作
        遍历
"""
dict_lq = {"name": "刘亦菲", "age": 20, "sex": "女"}
# 所有key
for key in dict_lq:
    print(key)

# 所有value
for value in dict_lq.values():
    print(value)

# 所有key和value
# for item in dict_lq.items():
#     print(item[0])
#     print(item[1])
for key, value in dict_lq.items():
    print(key)
    print(value)

print(list(dict_lq))  # ['name', 'age', 'sex']
print(list(dict_lq.values()))  # ['刘亦菲', 20, '女']
print(list(dict_lq.items()))  # [('name', '刘亦菲'), ('age', 20), ('sex', '女')]
print(dict([('name', '刘亦菲'), ('age', 20), ('sex', '女')]))

四、字典操作小练习

在这里插入图片描述

# 练习:
# 删除台湾现有信息
# 删除陕西新增和现有信息
# 删除浙江现有和累计信息
# 删除广西新增人数保留键(通过键修改值)
del dict_tan_wan["now"]
del dict_shan_xi["new"], dict_shan_xi["now"]
del dict_zhe_jiang["now"], dict_zhe_jiang["total"]

# 练习4:
# 在终端中打印台湾所有键(一行一个)
# 在终端中打印陕西所有值(一行一个)
# 在终端中打印浙江所有键和值(一行一个)
# 在广西字典中查找值是254对应的键名称
for key in dict_tan_wan:
    print(key)

for value in dict_shan_xi.values():
    print(value)

for key, value in dict_zhe_jiang.items():
    print(key)
    print(value)

for key, value in dict_guangxi.items():
    if value == 254:
        print(key)

五、字典推导式

"""
    字典推导式
        根据其他容器,以简易方式,构建新字典
"""
list_name = ["亦菲", "杰伦", "紫棋"]
list_age =  [20, 23, 35]
# dict_result = {}
# for i in range(len(list_name)):  # 0 1 2
#     key = list_name[i]
#     value = list_age[i]
#     dict_result[key] = value
# print(dict_result)

dict_result = {list_name[i]: list_age[i] for i in range(len(list_name))}
print(dict_result)

dict_result = {list_name[i]: list_age[i] for i in range(len(list_name)) if list_age[i] > 20}
print(dict_result)

六、字典推导式小练习

"""
    练习1:
    将两个列表,合并为一个字典
    姓名列表["张无忌","赵敏","周芷若"]
    房间列表[101,102,103]
    {101: '张无忌', 102: '赵敏', 103: '周芷若'}

    练习2:
    颠倒练习1字典键值
    {'张无忌': 101, '赵敏': 102, '周芷若': 103}
"""
list_name = ["张无忌", "赵敏", "周芷若"]
list_room = [101, 102, 103]

# dict_result = {}
# for i in range(len(list_name)):
#     # key = list_name[i]
#     # value = list_room[i]
#     # dict_result[key] = value
#     dict_result[list_name[i]] = list_room[i]
# print(dict_result)

dict_result = {list_name[i]: list_room[i] for i in range(len(list_name))}
print(dict_result)

# new_dict = {}
# for k,v in dict_result.items():
#     new_dict[v] = k
# print(new_dict)

new_dict = {v: k for k, v in dict_result.items()}
print(new_dict)

七、小结

"""
    小结-容器
        1. 种类与特征
            字符串tuple:存储字符编码,不可变,序列
            列表list:存储变量,可变,序列
            元组tuple:存储变量,不可变,序列
            字典dict:存储键值对,可变,散列
        2. Python语言有哪些数据类型?
            可变类型:预留空间+自动扩容
                例如:list,dict...
                优点:操作数据方便(能够增删改)
                缺点:占用内存较大
            不可变类型:按需分配
                例如:int、float、bool、str、tuple...
                优点:占用内存较小
                缺点:不能适应现实的变化
        3. 序列与散列
            序列:支持索引切片,定位数据灵活
            散列:通过键定位数据,速度最快
        4. 语法

                        列表                    字典
            创建
                 列表名 = [数据1,数据2]          字典名 = {键1:值,键2:值}
                 列表名 = list(容器)            字典名 = dict(容器)
            添加
                 列表名.append(元素)            字典名[键]=值
                 列表名.insert(索引,元素)
            定位
                 列表名[整数]                   字典名[键]
                 列表名[开始:结束:间隔]
            删除
                 del 列表名[索引或切片]          del 字典名[键]
                 列表名.remove(数据)
            遍历
                 for item in 列表名:           for key in 字典:
                 for i in range(len(列表名)):  for value in 字典.values():
                                              for k,v in 字典.items():
"""
#指定字典某个位置的元素
dict_lq = {"name": "刘亦菲", "age": 20, "sex": "女"}
tuple_item = tuple(dict_lq.items())
print(tuple_item[-1])

标签:Day08,name,Python,list,dict,lq,print,基本操作,字典
From: https://blog.csdn.net/qq_43510111/article/details/137242590

相关文章

  • python将音频合并到视频中
    frommoviepy.editorimport*#指定视频文件和音频文件路径video_path=r'F:\存储盘\古风美女素材下载\舞蹈视频\1476732110-1-100113.mp4'audio_path=r'F:\存储盘\古风美女素材下载\舞蹈视频\1xiaoshi.MP3'#加载视频和音频video=VideoFileClip(video_path)audio......
  • python计算机毕设【附源码】毕业生离校系统的设计与实现(django+mysql+论文)
    本系统(程序+源码)带文档lw万字以上  文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着互联网技术的飞速发展,信息化管理已经成为了现代教育体系中不可或缺的一部分。对于高校而言,毕业生离校系统的设计与实现是提高学校管理效率、优化毕业生......
  • python学习笔记——控制流
    目录1. 控制流****1.1. if-elif-else语句****1.2. 循环结构****1.2.1. for循环****1.2.2. While循环****1.2.3. 嵌套循环****1.2.4. 循环的控制****1.2.4.1. Break****1.2.4.2. Continue****1.2.5. 遍历****1.2.5.1. dict****1.2.5.1.1. 遍历key:****......
  • Python与CAD系列高级篇(二十六)根据图片生成cad轮廓矢量
    目录0简述1功能描述2应用3功能实现0简述本篇介绍根据图片文件提取出轮廓特征信息并在cad中绘制出相应的轮廓矢量。1功能描述功能:①获取对象轮廓的图片文件。②对图片进行分析与轮廓提取。③将提取的轮廓信息通过pyautocad绘制在cad中。2......
  • Python的opencv库的函数合集(持续更新中)
    为自己也为别人,整合opencv的函数,欢迎纠错!目录1.imread()2.cv2.imshow()1.imread()介绍:cv2.imread()是OpenCV库中的一个函数,专门用于读取图片文件并将其转换为NumPy数组。此函数对于图像处理和计算机视觉应用非常有用,因为它提供了读取图片到程序中的基本能力。格式:参数......
  • python 闭包的理解
    目录一、什么是闭包?二、闭包的工作原理三、示例:创建一个简单的闭包四、闭包的用途五、闭包的应用场景1.数据封装和信息隐藏2.保持状态3.函数工厂4.延迟计算六、结论一、什么是闭包?  闭包是函数式编程的一种重要概念,在Python中也得到了支持。一个闭包......
  • Python快速入门系列-7(Python Web开发与框架介绍)
    第七章:PythonWeb开发与框架介绍7.1Flask与Django简介7.1.1Flask框架Flask的特点Flask的安装一个简单的Flask应用示例7.1.2Django框架Django的特点Django的安装一个简单的Django应用示例7.2前后端交互与数据传输7.2.1前后端交互7.2.2......
  • python搜索电影在线观看
    练手的项目,搜索的资源大部分都是枪版的。。。importmechanicalsoupimportreimportjsondefextract_episode_number(label):match=re.search(r"(\d+)[^0-9]*集",label)ifmatch:returnint(match.group(1))else:return1defget_movi......
  • vscode中python下面的代码都变暗了
     现象: 分析在VisualStudioCode(VSCode)中,如果Python代码变暗,这通常是因为编辑器将这些代码识别为未使用或未激活的代码。这可能是由几个原因引起的:代码未被执行或引用:如果代码块没有被函数、类或其他代码结构所引用,VSCode可能会将其视为未使用的代码。代码被......
  • 基于 Python + Requests + Unitest + HwTestReport的API自动化测试框架
    一、框架目录结构概览 二、框架执行流程简介 三、框架目录结构简介▹case:存放测试用例▹data:存放测试数据及测试数据的处理▹config:存放相关配置文件(Token获取、Excel测试数据读取、requests二次封装等)▹file:存放测试接口信息▹report:存放测试报告▹to......