Python学习打卡:day08

news2024/11/26 23:25:12

day8

笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了

目录

  • day8
    • 58、数据容器(序列)的切片
      • 序列的常用操作——切片
    • 59、序列的切片课后练习
    • 60、集合的定义和操作
      • 集合的定义
      • 集合的操作
        • 添加新元素
        • 移除元素
        • 从集合中随机取出元素
        • 清空集合
        • 取出2个集合的差集
        • 消除2个集合的差集
        • 2个集合合并
        • 查看集合的元素数量
        • 集合的常用操作——for循环遍历
        • 集合的常用功能总结
        • 集合的特点
    • 61、集合的课后练习
    • 62、字典的定义
      • 字典数据的获取
      • 字典的嵌套
      • 嵌套字典的内容获取
      • 字典的注意事项
    • 63、字典的常用操作
      • 新增元素
      • 更新元素
      • 删除元素
      • 清空字典
      • 获取全部的key
      • 遍历字典
      • 计算字典内的全部元素(键值对)数量
      • 字典的常用操作总结
      • 字典的特点

58、数据容器(序列)的切片

序列是指:内容连续、有序,可使用下标索引的一类数据容器。列表、元组、字符串,均可以可以视为序列。
在这里插入图片描述在这里插入图片描述

序列的常用操作——切片

序列支持切片,即:列表、元组、字符串,均支持进行切片操作

切片:从一个序列中,取出一个子序列

语法:序列[起始下标:结束下标:步长]

表示从序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:

  • 起始下标表示从何处开始,可以留空,留空视作从头开始
  • 结束下标(不含)表示何处结束,可以留空,留空视作截取到结尾
  • 步长表示,依次取元素的间隔
  • 步长 1 表示,一个个取元素;
  • 步长 2 表示,每次跳过 1 个元素取;
  • 步长 N 表示,每次跳过 N-1 个元素取;
  • 步长为负数表示,反向取(注意,起始下标和结束下标也要反向标记)

注意,此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)

示例:

"""
演示对序列进行切片操作
"""

# 对 list 进行切片,从 1 开始, 4 结束,步长为 1
my_list = [0, 1, 2, 3, 4, 5, 6]
result1 = my_list[1:4]      # 步长默认是1,所以可以省略不写
print(f"结果1:{result1}")

# 对 tuple 进行切片,从头开始,到最后结束,步长为 1
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result2 = my_tuple[:]     # 起始和结束不写表示从头到尾,步长为 1 可以省略
print(f"结果2:{result2}")

# 对 str 进行切片,从头开始,到最后结束,步长为 2
my_str = "01234567"
result3 = my_str[::2]
print(f"结果3:{result3}")

# 对 str 进行切片,从头开始,到最后结束,步长为 2
my_str = "01234567"
result4 = my_str[::-1]      # 等同于将序列反转了
print(f"结果4:{result4}")

# 对列表进行 my_list = [0, 1, 2, 3, 4, 5, 6] 切片,从 3 开始,到 1 结束,步长 -1
my_list = [0, 1, 2, 3, 4, 5, 6]
result5 = my_list[3:1:-1]
print(f"结果5:{result5}")

# 对元组进行切片,从头开始,到尾结束,步长 -2
my_tuple = (0, 1, 2, 3, 4, 5, 6)
result6 = my_tuple[::-2]
print(f"结果6:{result6}")

59、序列的切片课后练习

# 方法1
mystr1 = "万过薪月,员序程马黑来,nohtyP学"
mystr2 = mystr1[::-1]
print(mystr2)
mystr3 = mystr2.split(",")
print(mystr3)
mystr4 = mystr3[1]
print(mystr4)
result = mystr4[1::1]
print(result)

# 方法2:
mystr1 = "万过薪月,员序程马黑来,nohtyP学"
result2 = mystr1.split(",")[1].replace("来","")[::-1]
print(result2)

60、集合的定义和操作

集合的定义

通过特性来分析:

  • 列表可修改支持重复元素且有序
  • 元组、字符串不可修改、支持重复元素且有序

局限就在于:它们都支持重复元素

如果场景需要对内容做去重处理,列表、元组、字符串就不方便了。

集合,最主要的特点就是:不支持元素的重复(自带去重功能)、并且内容无序

基本语法格式:
在这里插入图片描述

示例:

# 定义集合
my_set = {"传智教育", "黑马程序员", "itheima","传智教育", "黑马程序员", "itheima","传智教育", "黑马程序员", "itheima"}
my_set_empty = set()    # 定义空集合
print(f"my_set的内容是:{my_set},类型是:{type(my_set)}")
print(f"my_set_empty的内容是:{my_set_empty},类型是:{type(my_set_empty)}")

# 结果
my_set的内容是:{'传智教育', 'itheima', '黑马程序员'},类型是:<class 'set'>
my_set_empty的内容是:set(),类型是:<class 'set'>

和列表、元组、字符串等定义基本相同:

  • 列表使用:[]
  • 元组使用:()
  • 字符串使用:“”
  • 集合使用:{}

集合的操作

因为集合是无序的,所以集合不支持:下标索引访问

添加新元素

语法:集合.add(元素)。将指定元素,添加到集合内

结果:集合本身被修改,添加了新元素

示例:

# 添加新元素
my_set = {"传智教育", "黑马程序员", "itheima"}
my_set.add("Python")
my_set.add("传智教育")
print(f"my_set添加元素后结果是:{my_set}")

# 结果
my_set添加元素后结果是:{'传智教育', 'itheima', 'Python', '黑马程序员'}

tips:注意到添加已有元素,并不会重复出现在集合里

移除元素

语法:集合.remove(元素),将指定元素,从集合内移除

结果:集合本身被修改,移除了元素

示例:

# 移除元素
my_set = {"传智教育", "黑马程序员", "itheima"}
my_set.remove("黑马程序员")
print(f"my_set移除元素后结果是:{my_set}")

# 结果
my_set移除元素后结果是:{'传智教育', 'itheima'}
从集合中随机取出元素

语法:集合.pop(),功能,从集合中随机取出一个元素

结果:会得到一个元素的结果。同时集合本身被修改,元素被移除

示例:

# 随机取一个元素
my_set = {"传智教育", "黑马程序员", "itheima"}
element = my_set.pop()
print(f"集合被取出元素是:{element},取出元素后:{my_set}")

# 结果
集合被取出元素是:传智教育,取出元素后:{'itheima', '黑马程序员'}
清空集合

语法:集合.clear(),功能,清空集合

结果:集合本身被清空

示例:

# 清空集合
my_set = {"传智教育", "黑马程序员", "itheima"}
my_set.clear()
print(f"集合被清空啦,结果是:{my_set}")

# 结果
集合被清空啦,结果是:set()
取出2个集合的差集

语法:集合1.difference(集合2),功能:取出集合1和集合2的差集(集合1有而集合2没有的)

结果:得到一个新集合,集合1和集合2不变

# 取 2 个集合的差集
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.difference(set2)
print(f"取出差集后的结果是:{set3}")
print(f"取出差集后,原有的set1的内容是:{set1}")
print(f"取出差集后,原有的set3的内容是:{set2}")

# 结果
取出差集后的结果是:{2, 3}
取出差集后,原有的set1的内容是:{1, 2, 3}
取出差集后,原有的set3的内容是:{1, 5, 6}
消除2个集合的差集

语法:集合1.difference_update(集合2)

功能:对比集合1和集合2,在集合1内,删除和集合2相同的元素。

结果:集合1被修改,集合2不变

# 消除 2 个集合的差集
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set1.difference_update(set2)
print(f"消除差集后,集合1结果:{set1}")
print(f"消除差集后,集合2结果:{set2}")

# 结果
消除差集后,集合1结果:{2, 3}
消除差集后,集合2结果:{1, 5, 6}
2个集合合并

语法:集合1.union(集合2)

功能:将集合1和集合2组合成新集合

结果:得到新集合,集合1和集合2不变

# 2 个集合合并为 1 个
set1 = {1, 2, 3}
set2 = {1, 5, 6}
set3 = set1.union(set2)
print(f"2集合合并结果:{set3}")
print(f"合并后集合1:{set1}")
print(f"合并后集合2:{set2}")

# 结果
2集合合并结果:{1, 2, 3, 5, 6}
合并后集合1{1, 2, 3}
合并后集合2{1, 5, 6}
查看集合的元素数量

语法:len(集合)

功能:统计集合内有多少元素

结果:得到一个整数结果

# 统计集合元素数量 len()
set1 = {1, 2, 3, 4, 5, 1, 2, 3, 4, 5}
num = len(set1)
print(f"集合内的元素数量有:{num}个")

# 结果
集合内的元素数量有:5
集合的常用操作——for循环遍历

tips集合不支持下标索引,所以也就不支持使用 while 循环

# 集合的遍历
# 集合不支持下标索引,不能用 while 循环
# 可以用 for 循环
set1 = {1, 2, 3, 4, 5}
for element in set1:
    print(f"集合的元素有:{element}")
集合的常用功能总结
编号操作说明
1集合.add(元素)集合内添加一个元素
2集合.remove(元素)移除集合内指定的元素
3集合.pop()从集合中随机取出一个元素
4集合.clear()将集合清空
5集合1.difference(集合2)得到一个新集合,内含2个集合的差集 原有的2个集合内容不变
6集合1.difference_update(集合2)在集合1中,删除集合2中存在的元素 集合1被修改,集合2不变
7集合1.union(集合2)得到1个新集合,内含2个集合的全部元素 原有的2个集合内容不变
8len(集合)得到一个整数,记录了集合的元素数量
集合的特点
  1. 可以容纳多个数据;
  2. 可以容纳不同类型的数据(混装);
  3. 数据是无序存储的(不支持下标索引)
  4. 不允许重复数据存在
  5. 可以修改(增加或删除元素等);
  6. 支持for循环

61、集合的课后练习

在这里插入图片描述

示例:

my_list = ['黑马程序员', '传智播客', '黑马程序员', '传智播客', 'itheima', 'itcast', 'itheima', 'itcast', 'best']
my_set = set()

for element in my_list:
    my_set.add(element)
print(f"存入集合后,集合结果为:{my_set}")

62、字典的定义

字典可以实现用 key 取出 Value 的操作

字典数据的获取

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

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

# 定义字典
my_dict1 = {"王力宏" : 99, "周杰伦" : 88, "林俊杰" : 77}
# 定义空的字典
my_dict2 = {}   # 集合不能使用 my_set = {}, 只能使用 my_set = set()
my_dict3 = dict()
print(f"字典1的内容是:{my_dict1},类型:{type(my_dict1)}")
print(f"字典2的内容是:{my_dict2},类型:{type(my_dict2)}")
print(f"字典3的内容是:{my_dict3},类型:{type(my_dict3)}")

# 定义重复 key 的字典
my_dict1 = {"王力宏" : 99, "王力宏" : 88, "林俊杰" : 77}
print(f"重复 key 的字典的内容是:{my_dict1}")

# 从字典中基于 Key 获取 Value
my_dict1 = {"王力宏" : 99, "周杰伦" : 88, "林俊杰" : 77}
score = my_dict1["王力宏"]
print(f"王力宏的考试分数是:{score}")
score = my_dict1["周杰伦"]
print(f"周杰伦的考试分数是:{score}")

# 结果
字典1的内容是:{'王力宏': 99, '周杰伦': 88, '林俊杰': 77},类型:<class 'dict'>
字典2的内容是:{},类型:<class 'dict'>
字典3的内容是:{},类型:<class 'dict'>
重复 key 的字典的内容是:{'王力宏': 88, '林俊杰': 77}
王力宏的考试分数是:99
周杰伦的考试分数是:88

tips:定义重复的 key,后出现的 key 所对应的 value 会覆盖掉前者的 value

字典的嵌套

在这里插入图片描述

示例:

# 定义嵌套字典
stu_score_dict = {
    "wanglihonh" : {
        "yuwen" : 77,
        "shuxue" : 66,
        "yingyu" : 33
    },
    "zhoujielun" : {
        "yuwen" : 88,
        "shuxue" : 86,
        "yingyu" : 55
    },
    "linjunjie" : {
        "yuwen" : 99,
        "shuxue" : 96,
        "yingyu" : 66
    }
}
print(f"学生的考试信息是:{stu_score_dict}")

# 结果
学生的考试信息是:{'wanglihonh': {'yuwen': 77, 'shuxue': 66, 'yingyu': 33}, 'zhoujielun': {'yuwen': 88, 'shuxue': 86, 'yingyu': 55}, 'linjunjie': {'yuwen': 99, 'shuxue': 96, 'yingyu': 66}}

嵌套字典的内容获取

# 从嵌套字典中获取信息
# 看一下周杰伦的语文信息
score = stu_score_dict["zhoujielun"]["yuwen"]
print(f"zhoujielun的yuwen考试分数是:{score}")
score = stu_score_dict["linjunjie"]["yingyu"]
print(f"linjunjie的yingyu考试分数是:{score}")

字典的注意事项

  1. 键值对的Key和Value可以是任意类型(Key不可为字典);
  2. 字典内Key不允许重复,重复添加等同于覆盖原有数据
  3. 字典不可用下标索引,而是通过Key检索Value

63、字典的常用操作

新增元素

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

my_dict = {"王力宏" : 99, "周杰伦" : 88, "林俊杰" : 77}
# 新增元素
my_dict["张信哲"] = 66
print(f"字典经过新增元素后,结果:{my_dict}")

# 结果
字典经过新增元素后,结果:{'王力宏': 99, '周杰伦': 88, '林俊杰': 77, '张信哲': 66}

更新元素

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

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

# 更新元素
my_dict["周杰伦"] = 33
print(f"字典经过更新元素后,结果:{my_dict}")

# 结果
字典经过更新元素后,结果:{'王力宏': 99, '周杰伦': 33, '林俊杰': 77, '张信哲': 66}

删除元素

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

# 删除元素
score = my_dict.pop("周杰伦")
print(f"字典经过删除元素后,结果:{my_dict},周杰伦的考试分数为:{score}")

# 结果
字典经过删除元素后,结果:{'王力宏': 99, '林俊杰': 77, '张信哲': 66},周杰伦的考试分数为:33

清空字典

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

# 清空元素
my_dict.clear()
print(f"字典被清空了,内容是:{my_dict}")

# 结果
字典被清空了,内容是:{}

获取全部的key

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

# 获取全部的 key
my_dict = {"王力宏" : 99, "周杰伦" : 88, "林俊杰" : 77}
keys = my_dict.keys()
print(f"字典的全部keys是:{keys}")

# 结果
字典的全部keys是:dict_keys(['王力宏', '周杰伦', '林俊杰'])

遍历字典

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

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

# 遍历字典
# 方式1:通过获取到全部的 key 来完成遍历
for key in keys:
    print(f"字典的key是:{key}")
    print(f"字典的value是:{my_dict[key]}")

# 方式2:直接对字典进行 for 循环,每一次循环都是直接得到 key
for key in my_dict:
    print(f"字典的key是:{key}")
    print(f"字典的value是:{my_dict[key]}")
    
# 结果
字典的key是:王力宏
字典的value是:99
字典的key是:周杰伦
字典的value是:88
字典的key是:林俊杰
字典的value是:77
字典的key是:王力宏
字典的value是:99
字典的key是:周杰伦
字典的value是:88
字典的key是:林俊杰
字典的value是:77

计算字典内的全部元素(键值对)数量

语法:len(字典)

结果:得到一个整数,表示字典内元素(键值对)的数量

# 统计字典内的元素的数量
num = len(my_dict)
print(f"字典中的元素数量有:{num}个")

# 结果
字典中的元素数量有:3

字典的常用操作总结

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

字典的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据
  • 每一份数据是 KeyValue 键值对
  • 可以通过 Key 获取到 Value,Key不可重复(重复会覆盖)
  • 不支持下标索引
  • 可以修改(增加或删除更新元素等)
  • 支持for循环,不支持while循环

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1832411.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NATAPP-内网穿透工具----下载与配置

NATAPP-内网穿透工具 基于ngrok的国内高速内网穿透服务&#xff0c;natapp提供了一种便利的方式&#xff0c;使得开发和测试过程更加高效&#xff0c;尤其是在需要进行远程调试或展示时。无论是进行web开发、微信和支付宝的本地开发调试&#xff0c;还是简单地从外部网络访问家…

如何根据使用场景选购3D扫描仪?

三维扫描建模是指通过专业的三维扫描仪对产品进行三维数据的采集&#xff0c;快速获取物体精确的3D数据&#xff0c;实现1:1复刻原物体&#xff0c;扫描后所得的数字化3D模型以obj、fbx、glb、gltf等格式保存。 积木易搭自主研发多款三维扫描设备&#xff0c;拥有多项国家专利&…

初学者必看的web前端开发学习路线,干货满满!

初学者必看的web前端开发学习路线,干货满满&#xff01; 随着互联网的深入发展,前端工程师这个岗位在市场上的需求&#xff0c;薪资也是很可观的。前端很火&#xff0c;想自学前端的人也很多。包括一些学生、上班族、以前的UI&#xff0c;java&#xff0c;或完全零基础&#xf…

Nginx 高级应用

目录 一.使用alias实现虚拟目录 二. 通过stub_status模块监控nginx的工作状态 三. 使用limit_rate限制客户端传输数据的速度 四. nginx虚拟主机配置 1.基于端口的虚拟主机 2. 基于IP的虚拟主机 3. 基于域名的虚拟主机 nginx配置文件&#xff1a; /…

3阶段提交协议(3pc)

3阶段提交协议&#xff08;3pc&#xff09; 1 简介 三阶段提交协议是一个强一致、中心化的原子提交协议。解决了分布式事务、副本容错等分布式问题。其核心思想是将2PC的二阶段提交协议的“准备阶段”一分为二&#xff0c;形成了由CanCommit、PreCommit、DoCommit三个阶段组成…

LWIP移植

目录 前言一、以太网协议简介1.1 TCP/IP协议简介1.2 STM32的ETH外设1.2.1 MAC子层1.2.2 SMI站管理接口1.2.3 MII和RMII接口 1.3 外部PHY芯片LAN87201.3.1 LAN8720 中断管理1.3.2 PHY 地址设置1.3.3 nINT/REFCLKO 配置1.3.4 LAN8720 内部寄存器 1.4 LWIP 简介 二、带操作系统的移…

【热】大数据信用报告查询平台哪个比较好?这个平台值得一试!

在当今数字化时代&#xff0c;大数据技术的发展为个人和企业提供了更便捷、精准的信用报告查询服务。选择一个优秀的大数据信用报告查询平台至关重要&#xff0c;它直接影响到您获取信用信息的准确性和全面性。 首先&#xff0c;选择大数据信用报告查询平台时&#xff0c;您可以…

Flutter图像编辑器应用:创造生动美丽的照片体验

介绍 引言 想象一下&#xff0c;在一个阳光明媚的下午&#xff0c;与家人或朋友漫步在风景如画的街道上。拿出手机&#xff0c;迫不及待地捕捉这一刻的美好&#xff0c;按下快门&#xff0c;留下了一张充满回忆的照片。 然而&#xff0c;回到家后发现照片的亮度有些偏暗&…

大模型应用开发技术:Multi-Agent框架流程、源码及案例实战(二)

LlaMA 3 系列博客 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;一&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;二&#xff09; 基于 LlaMA 3 LangGraph 在windows本地部署大模型 &#xff08;三&#xff09; 基于 LlaMA…

c函数/2024/6/17

1.递归计算0--n的和 #include <stdio.h> int sum(int n);//递归求和函数 int main(int argc, const char *argv[]) {//(2)递归计算0--n的和int n0;printf("请输入n的值为:");scanf("%d",&n);printf("0--n的和为:%d",sum(n));return 0…

CTFshow之RCE代码命令远程执行第41关到第52关详细讲解。可私信!

与其抱怨自己&#xff0c;不如埋怨他人。 --莫迪大仙 引言&#xff1a;今天来到ctf赛题RCE专题第二天&#xff08;今天肯定写不完了啊啊啊啊啊&#xff09;&#xff0c;不过继续加油&#xff01; 一、实验准备 1、ctf网址 2、firefox浏览器、hackbar插件 二、实验过程 &a…

大数据分析-二手车用户数据可视化分析

项目背景 在当今的大数据时代&#xff0c;数据可视化扮演着至关重要的角色。随着信息的爆炸式增长&#xff0c;我们面临着前所未有的数据挑战。这些数据可能来自社交媒体、商业交易、科学研究、医疗记录等各个领域&#xff0c;它们庞大而复杂&#xff0c;难以通过传统的数据处…

Day 25:1807. 替换字符串中的括号内容

Leetcode 1807. 替换字符串中的括号内容 给你一个字符串 s &#xff0c;它包含一些括号对&#xff0c;每个括号中包含一个 非空 的键。 比方说&#xff0c;字符串 “(name)is(age)yearsold” 中&#xff0c;有 两个 括号对&#xff0c;分别包含键 “name” 和 “age” 。 你知道…

Linux:生产消费模型 读者写者模型

Linux&#xff1a;生产消费模型 & 读者写者模型 生产消费模型阻塞队列基本结构构造与析构投放任务获取任务总代码 POSIX 信号量基本概念接口 环形队列基本结构构造与析构投放任务获取任务总代码 读者写者模型读写锁 生产消费模型 生产消费模型是一种用于处理多线程之间任务…

编译器优化入门(基于ESP32)

主要参考资料&#xff1a; kimi: https://kimi.moonshot.cn/ ESP-IDF 支持多种编译器&#xff0c;但默认情况下&#xff0c;它使用的是乐鑫官方提供的 Xtensa 编译器&#xff0c;这是一个针对 ESP32 芯片架构&#xff08;Tensilica Xtensa LX6 微处理器&#xff09;优化的交叉编…

大学课设项目,Windows端基于UDP的网络聊天程序的服务端和客户端

文章目录 前言项目需求介绍一、服务端1.对Udp套接字进行一个封装2. UdpServer的编写3. Task.h4.protocol.h的编写5.线程池的编写6.main.cc 二、客户端1. Socket.h2.protocol.h3.UdpClient4.menu.h5.main.cpp 三、运行图 前言 本次项目可以作为之前内容的一个扩展&#xff0c;学…

windows 11 之 下载安装 curl

1. 背景 需要执行一个 curl 命令运行一个定时任务&#xff0c;之前博主用的mac&#xff0c;无需担心这个下载安装问题&#xff0c;现在转为 windows&#xff0c;需要下载安装crul命令。 2. 出现问题 3. 解决办法 3.1 下载最新的包 下载地址&#xff1a;https://curl.se/win…

文档项目:攻坚克难

鉴于交流离心机存在的缺点&#xff1a;转速相对偏差、稳定精度不够高&#xff1b;带负载能力受外界扰动后&#xff0c;波动较大&#xff1b;寿命短&#xff0c;研究所各相关部门成立组成技术攻关团队&#xff0c;齐心协力&#xff0c;攻坚克难&#xff0c;在摸索中突破创新&…

推荐 3 款小巧的文件压缩、投屏和快速启动软件,请收藏,避免找不到

Maya Maya是一款由博主25H开发的体积小巧、简单易用的快速启动工具。它的操作逻辑和界面设计几乎复刻了Rolan早期版本&#xff0c;功能上与Rolan几乎别无二致。Maya支持多文件拖拽添加启动、快捷键呼出、自动多列显示等功能。此外&#xff0c;Maya还具备lnk文件解析功能。 May…

“Jedis与Redis整合指南:实现高效的Java应用与Redis交互“

目录 #. 概念 1. 导入jedis依赖 2. 写一个类&#xff08;ping通redis&#xff09; 3. String字符串使用 3.1 set&#xff0c;get方法使用&#xff08;设值&#xff0c;取值&#xff09; 3.2 mset&#xff0c;mget方法使用&#xff08;设置多个值&#xff0c;取多个值&…