Python - 数据容器dict(字典)

简介: Python - 数据容器dict(字典)

字典的定义

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

使用{}存储原始,每一个元素是一个键值对

每一个键值对包含Key和Value(用冒号分隔)

键值对之间使用逗号分隔

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

Key不可重复,重复会对原有数据覆盖

字典不可用下标索引,而是通过Key检索Value

字典数据的获取

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

字典可以通过Key值来取得对应的Value

my_dict={"A":100,"B":80,"C":60}
print(my_dict["A"])
print(my_dict["B"])
print(my_dict["C"])

100

80

60

字典的嵌套

字典的Key和Value可以是任意数据类型(Key不可为字典) 那么,就表明,字典是可以嵌套的

内容获取类似于二维数组

my_dict = {
    "sorce":{"A":77,"B":66,"C":33},
    "level":{"A":88,"B":86,"C":55},
    "grade":{"A":99,"B":96,"C":66}
}
print(my_dict["sorce"])
print(my_dict["sorce"]["A"])
print(my_dict["grade"]["C"])

{'A': 77, 'B': 66, 'C': 33}

77

66

字典的各种操作

image.png

新增与更新元素  [Key] = Value

语法:字典[Key] = Value,结果:字典被修改,新增了元素

注意:字典Key不可以重复,所以对已存在的Key执行上述操作,就是更新Value值

my_dict={"A":100,"B":80,"C":60}
my_dict["D"]=40#新增加内容
print(my_dict)
my_dict["B"]=88#更新已有内容
print(my_dict)

{'A': 100, 'B': 80, 'C': 60, 'D': 40}

{'A': 100, 'B': 88, 'C': 60, 'D': 40}

删除元素 pop和del

语法:字典.pop(Key),结果:获得指定Key的Value,同时字典被修改,指定Key的数据被删除

del 字典[key] 为直接删除

my_dict={"A":100,"B":80,"C":60}
value=my_dict.pop("A")
print(value)
print(my_dict)
del my_dict["B"]
print(my_dict)

100

{'B': 80, 'C': 60}

{'C': 60}


清空字典 clear

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

my_dict={"A":100,"B":80,"C":60}
my_dict.clear()
print(my_dict)

{}

获取全部的键 keys

语法:字典.keys(),结果:得到字典中的全部Key

my_dict={"A":100,"B":80,"C":60}
k=my_dict.keys()
print(k)
print(my_dict)

dict_keys(['A', 'B', 'C'])

{'A': 100, 'B': 80, 'C': 60}


遍历字典    

keys()

语法:for key in 字典.keys()

字典不支持下标索引,所以同样不可以用while循环遍历

my_dict={"A":100,"B":80,"C":60}
for key in my_dict.keys():
    print(f"等级:{key},分数:{my_dict[key]}")

等级:A,分数:100

等级:B,分数:80

等级:C,分数:60


values ()

my_dict={"A":100,"B":80,"C":60}
for i in my_dict.values():
    print(i)

100

80

60


items()

my_dict={"A":100,"B":80,"C":60}
for i in my_dict.items():
    print(i)
print(type(i))
print(type(my_dict.items()))

('A', 100)

('B', 80)

('C', 60)

<class 'tuple'>

<class 'dict_items'>


利用items依次打印key和value

my_dict={"A":100,"B":80,"C":60}
#4.依次打印key和value,通过索引
for key,value in my_dict.items():
    print(key,value)

A 100

B 80

C 60

容器通用功能总览

image.png

相关文章
|
1天前
|
数据采集 Python
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
2024年Python最新【Python基础教程】快速找到多个字典中的公共键(key)的方法,秋招面试问题
|
1天前
|
开发工具 Python
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
Python列表和字典前面为什么要加星号( )?_python一个 代表列表
|
1天前
|
数据采集 数据可视化 Python
Python分析香港26281套在售二手房数据
Python分析香港26281套在售二手房数据
|
2天前
|
数据采集 存储 数据挖掘
Python DataFrame初学者指南:轻松上手构建数据表格
【5月更文挑战第19天】本文是针对初学者的Pandas DataFrame指南,介绍如何安装Pandas、创建DataFrame(从字典或CSV文件)、查看数据(`head()`, `info()`, `describe()`)、选择与操作数据(列、行、缺失值处理、数据类型转换、排序、分组聚合)以及保存DataFrame到CSV文件。通过学习这些基础,你将能轻松开始数据科学之旅。
|
2天前
|
数据挖掘 数据处理 Python
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
【5月更文挑战第19天】本文介绍了Python数据分析中的核心概念——DataFrame,通过导入`pandas`库创建并操作DataFrame。示例展示了如何构建数据字典并转换为DataFrame,以及进行数据选择、添加修改列、计算统计量、筛选和排序等操作。DataFrame适用于处理各种规模的表格数据,是数据分析的得力工具。掌握其基础和应用是数据分析之旅的重要起点。
【Python DataFrame 专栏】Python DataFrame 入门指南:从零开始构建数据表格
|
2天前
|
机器学习/深度学习 数据处理 Python
如何利用Python实现高效的数据清理与预处理
数据清理和预处理是数据科学家和分析师工作中不可或缺的一环,而Python作为一门强大的编程语言,可以使这个过程变得更加高效和便捷。本文将介绍一些常见的数据清理和预处理技术,并演示如何使用Python来实现这些技术。
|
Python 容器
Python3高级特性(五)之容器(container)
Python3高级特性(五)之容器(container)
|
1天前
|
机器学习/深度学习 缓存 人工智能
令你膛目结舌的代码技巧 —— Python编程代码技巧
令你膛目结舌的代码技巧 —— Python编程代码技巧
7 2
|
1天前
|
数据采集 算法 Python
2024年Python最全python基础入门:高阶函数,小米面试编程题
2024年Python最全python基础入门:高阶函数,小米面试编程题
|
1天前
|
数据采集 人工智能 前端开发
干货满满,转行逆袭,0编程基础学Python拿高薪offer如何做?都在这里!
干货满满,转行逆袭,0编程基础学Python拿高薪offer如何做?都在这里!

热门文章

最新文章