【Python21天学习挑战赛】字典 && 小数据池

简介: 【Python21天学习挑战赛】字典 && 小数据池

活动地址:CSDN21天学习挑战赛

开头一叙:

无论是以后学习需要或者是三年后的工作需要,都需要用到python的工具,也接着这次活动的机会,把python系统的学一遍。跟着大佬,让python知识从入门到精通。

字典—dict

作用:存储数据的,存储大量数据,可变的数据类型,无序的;比列表快。将数据和数据之间进行关联。

字典定义
 dic={"孙悟空":80,"唐僧":100,"猪八戒":89,True:123,(12,2,3):["dada","憨憨"]} #字典中逗号分割是一个元素
 # "孙悟空"(键):80(值)       --键值对
 print(dic)
{'孙悟空': 80, '唐僧': 100, '猪八戒': 89, True: 123, (12, 2, 3): ['dada', '憨憨']}
  • 字典的键:必须是可哈希的,也就是不可变的数据类型(字符串就是不可变的数据类型)–避免哈希冲突使用开放寻址法。 字典的键要求唯一,若是有重复的后边的值将前面的值覆盖
  • 字典的值:可以任意
  • 和列表的区别:
  • 列表是有序的对象集合
  • 字典是无序的对象集合
字典的操作:增、删、改、查

1、增:

(1)暴力添加

dic={"孙悟空":80,"唐僧":100,"猪八戒":89}
dic["白骨精"]=78   #暴力添加
print(dic)
{'孙悟空': 80, '唐僧': 100, '猪八戒': 89, '白骨精': 78}

(2)dic.setdefault():若白骨精这个键去字典查询,如果不存在执行添加,存在就不添加了

dic.setdefault("孙悟空",78)
print(dic)
#   输出:(1){'孙悟空': 80, '唐僧': 100, '猪八戒': 89}
dic.setdefault("白骨精",78)
print(dic)
#   输出: (2){'孙悟空': 80, '唐僧': 100, '猪八戒': 89, '白骨精': 78}

2、删

(1)方式1、通过键值对的键去删除键

dic={"孙悟空":80,"唐僧":100,"猪八戒":89}
del dic["孙悟空"]
print(dic)
{'唐僧': 100, '猪八戒': 89}

(2)通过键值对的键去删除键,有返回值,返回的是被删除的值

print(dic.pop("孙悟空") )
#   输出:80
print(dic)
# # 输出:{'唐僧': 100, '猪八戒': 89}

(3)dic.clear()

dic.clear()
print(dic)
# 输出:{}

3、改

(1)当字典中没有某个键值对的时候就是添加,存在的话就是修改

dic={"孙悟空":80,"唐僧":100,"猪八戒":89}
dic["孙悟空"]="孙猴子" #当字典中没有某个键值对的时候就是添加,存在的话就是修改
print(dic)
# 输出:{'孙悟空': '孙猴子', '唐僧': 100, '猪八戒': 89}

(2)dic.update()

dic.update({"黄梅眉大王":89,"观音":56,"孙悟空":100})
print(dic)
# 输出:{'孙悟空': 100, '唐僧': 100, '猪八戒': 89, '黄梅眉大王': 89, '观音': 56}
dic1={"黄梅眉大王":89,"观音":56,"孙悟空":100}
dic1.update(dic)
print(dic1)
# 输出:{'黄梅眉大王': 89, '观音': 56, '孙悟空': 80, '唐僧': 100, '猪八戒': 89}

4、查

dic={"孙悟空":80,"唐僧":100,"猪八戒":89}
# for i in dic:       #循环获取的是字典中每个键值对的键
#     print(i)
print(dic.get("孙悟空"))  #通过键值对中的键获取键值对的值
print(dic.get("沙僧"))    #若字典没有对应的键,返回None
#   输出:80
#        None
字典的其他操作
dic={"孙悟空":80,"唐僧":100,"猪八戒":89}
# for i in dic:
#     print(i,dic.get(i)) #获取所有键值对
print(dic.keys()) #高仿列表,获取所有的键,支持for循环遍历,不支持索引
# 输出:dict_keys(['孙悟空', '唐僧', '猪八戒'])
print(dic.values()) #高仿列表,获取所有的值
# 输出:dict_values([80, 100, 89])
print(list(dic.values()))#  转换成列表
#   输出:[80, 100, 89]
print(dic.items())
for i in dic.items():
    print(i)
dict_items([('孙悟空', 80), ('唐僧', 100), ('猪八戒', 89)])
('孙悟空', 80)
('唐僧', 100)
('猪八戒', 89)

字典的嵌套:

dic={1001:["刘备","关羽","张飞"],
     1002:{"汪峰":{"前妻1":["大烧饼"],"前妻2":["熊大","熊二"],"国际章":"肉丝"}},
     1003:{"陈冠希":["阿娇","阿萨","张柏芝"]},
     1004:{"韦小宝":[{"教主夫人":["教主"]},{"阿柯":"刺客"},{"双儿","天地会"},{"爱新觉罗建宁":"公主"}]}
     }
# 找出教主
print(dic[1004]["韦小宝"][0]['教主夫人'][0])
# 找出熊二
print(dic[1002]["汪峰"]["前妻2"][1])

小数据池

代码块

1、定义:一个模块,一个函数,一个类,一个文件等都是一个代码块。

在python解释器中,每一行代码就是一个代码块

is 与 == 区别

1、== 是判断两边的值是否相等

a=10
b=10
print(a==b)
# 输出:True

2、is是比较两边的地址内存是否相等

a=10
b=10
print(a is b)   #is基于内存地址进行判断
# 输出:True
小数据池

1、什么是小数据池

答:小数据池,也称为小整数缓存机制,或者称为驻留机制等等

针对整数:.

答:Python自动将-5~256的整数进行了缓存,当你将这些整数赋值给变量时,并不会重新创建对象,而是使用已经创建好的缓存对象。

针对字符串:

答:在同一代码块下,只有内容相同就采用相同的内存地址,乘法的时候总长度不能超过20,乘法的时候中文,特殊符合乘以0或者1

针对布尔值:

在同一代码块下,只有内容相同就采用相同的内存地址

相关文章
|
15天前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
255 1
|
16天前
|
存储 Java 数据处理
(numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
Numpy是什么? numpy是Python中科学计算的基础包。 它是一个Python库,提供多维数组对象、各种派生对象(例如掩码数组和矩阵)以及用于对数组进行快速操作的各种方法,包括数学、逻辑、形状操作、排序、选择、I/0 、离散傅里叶变换、基本线性代数、基本统计运算、随机模拟等等。 Numpy能做什么? numpy的部分功能如下: ndarray,一个具有矢量算术运算和复杂广播能力的快速且节省空间的多维数组 用于对整组数据进行快速运算的标准数学函数(无需编写循环)。 用于读写磁盘数据的工具以及用于操作内存映射文件的工具。 线性代数、随机数生成以及傅里叶变换功能。 用于集成由C、C++
210 0
|
16天前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
dict字典 Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 我们可以通过声明JS对象一样的方式声明dict
72 1
|
16天前
|
算法 Java Docker
(Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
IF 条件判断 使用if语句,对条件进行判断 true则执行代码块缩进语句 false则不执行代码块缩进语句,如果有else 或 elif 则进入相应的规则中执行
106 1
|
16天前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
208 0
|
8天前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
16天前
|
存储 Java 索引
(Python基础)新时代语言!一起学习Python吧!(二):字符编码由来;Python字符串、字符串格式化;list集合和tuple元组区别
字符编码 我们要清楚,计算机最开始的表达都是由二进制而来 我们要想通过二进制来表示我们熟知的字符看看以下的变化 例如: 1 的二进制编码为 0000 0001 我们通过A这个字符,让其在计算机内部存储(现如今,A 字符在地址通常表示为65) 现在拿A举例: 在计算机内部 A字符,它本身表示为 65这个数,在计算机底层会转为二进制码 也意味着A字符在底层表示为 1000001 通过这样的字符表示进行转换,逐步发展为拥有127个字符的编码存储到计算机中,这个编码表也被称为ASCII编码。 但随时代变迁,ASCII编码逐渐暴露短板,全球有上百种语言,光是ASCII编码并不能够满足需求
85 3
|
17天前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
16天前
|
存储 JavaScript Java
(Python基础)新时代语言!一起学习Python吧!(一):认识Python、Py解释器作用;编写第一个Python程序;Python中的基本数据结构
认识Python 前提安装好Python,这里使用3.13版本 如今Python作为变成姐最炙手可热的编程语言,它的使用途径涵盖绝大部分生活中需要的开发需要。 许多大型网站就是用Python开发的,例如YouTube、Instagram,还有国内的豆瓣。很多大公司,包括Google、Yahoo等,甚至NASA都大量地使用Python。
294 1
|
存储 Python
python字典中删除键值的方法
python字典中删除键值的方法
348 0

热门文章

最新文章

推荐镜像

更多