python学习笔记—18—数据容器之序列、集合、字典

embedded/2025/1/17 18:47:05/

1. 序列

(1) 定义

        序列是指内容连续、有序、可使用下标索引的一类数据容器,列表 元组 字符串均为序列

(2) 序列的切片

(3) 切片的例子

        1. 

python">my_list = [1, 2, 3, 4, 5]
tmp_list = my_list[1:4:1]
print(f"{tmp_list}")

        2. 

python">my_tuple = (1, 2, 3, 4, 5)
tmp_tuple = my_tuple[::1]
print(f"{tmp_tuple}")

        3. 

python">my_str = "123456789"
tmp_str = my_str[::2]
print(f"{tmp_str}")

        4. 等同于反转序列

python">my_str = "123456789"
tmp_str = my_str[::-1]
print(f"{tmp_str}")

        5.

python">my_list = [1, 2, 3, 4, 5]
tmp_list = my_list[3:1:-1]
print(f"{tmp_list}")

        6. 

python">my_tuple = (1, 2, 3, 4, 5)
tmp_tuple = my_tuple[::-2]
print(f"{tmp_tuple}")

        7. 练习,取出字符串中的doinb

python">my_str = "super bniod carry"
my_str1 = my_str[6:11]
print(f"{my_str1}")
my_str2 = my_str1[::-1]
print(f"{my_str2}")

2. 集合(集合会自动去重)

(1) 定义

        注意:集合中内容不能重复且无序

(2) 集合的常用操作

        1. 集合无序,不支持下标索引

        2. add——给集合中添加一个新的元素

python">my_set = {1, 2, 3, 4, 5}
my_set.add(6)
print(f"{my_set}")

        3. remove——移除一个特定元素

python">my_set = {1, 2, 3, 4, 5}
my_set.remove(2)
print(f"{my_set}")

        4. pop——从集合中随机取出一个元素

python">my_set = {1, 2, 3, 4, 5}
element_1 = my_set.pop()
element_2 = my_set.pop()
print(f"{my_set}, {element_1}, {element_2}")

        5. clear——清空集合

python">my_set = {1, 2, 3, 4, 5}
my_set.clear()
print(f"{my_set}")

        6. 集合1.difference(集合2)——取两个集合的差集,集合1有而集合2没有

python">my_set1 = {1, 2, 3}
my_set2 = {1, 3, 4}
my_set3 = my_set1.difference(my_set2)
print(f"{my_set1}")
print(f"{my_set2}")
print(f"{my_set3}")

        7. 集合1.difference_update(集合2)——消除集合1中与集合2相同的元素,得到新的元素

python">my_set1 = {1, 2, 3}
my_set2 = {1, 3, 4}
my_set3 = my_set1.difference_update(my_set2)
print(f"{my_set1}")
print(f"{my_set2}")
print(f"{my_set3}")

        8.集合1.union(集合2)——将集合1与集合2合并起来

python">my_set1 = {1, 2, 3}
my_set2 = {1, 3, 4}
my_set3 = my_set1.union(my_set2)
print(f"{my_set1}")
print(f"{my_set2}")
print(f"{my_set3}")

        9. len——统计集合元素个数(注意:只统计去重后的元素个数)

python">my_set1 = {1, 2, 3}
num = len(my_set1)
print(f"{num}")

        10. 集合的遍历for(集合不支持下标索引,无法用while索引)

python">my_set1 = {1, 2, 3}
for i in my_set1:print(f"{i}")

(3) 集合特点

(4) 练习

        有一个列表my_list = ["doinb", "tian", "doinb", "lwx", "gimgoon", "crisp", "lwx", "doinb"]

python">my_list = ["doinb", "tian", "doinb", "lwx", "gimgoon", "crisp", "lwx", "doinb"]
my_set = set()for i in my_list:my_set.add(i)print(f"{my_set}")

3. 字典

(1) 定义

注意:字典中key不可重复,且字典不支持下标索引,只支持key匹配

(2) 使用字典key取到对应的值

python">my_dict = {"doinb":100, "lwx":20, "crisp":1}
value = my_dict["doinb"]
print(f"{value}")

(3) 字典的嵌套以及访问嵌套字典元素

python">FPX_SCORE = {"doinb":{"语文":100,"数学":100,"英语":100,},"tian":{"语文": 101,"数学": 102,"英语": 103,},"lwx":{"语文": 104,"数学": 105,"英语": 106,},"gimgoon":{"语文": 103,"数学": 130,"英语": 120,},"crisp":{"语文": 120,"数学": 109,"英语": 123,},
}
lwx_math = FPX_SCORE["lwx"]["数学"]
doinb_english = FPX_SCORE["doinb"]["英语"]
print(f"{FPX_SCORE}")
print(f"{lwx_math}")
print(f"{doinb_english}")


http://www.ppmy.cn/embedded/154731.html

相关文章

前端小知识 鼠标穿透 pointer-events: none;

为什么会说到这个呢?是我觉得没有识别出来,然后就导致了这样的问题,这种情况不应该发生。我写了如下这样一段代码,但是发现当自己选择时间的时候无法选择。然后就发现变成了光标在闪烁。这样其实就是因为我选择到了这个input框的鼠…

C# .NetCore 使用 Flurl.Http 与 HttpClient 请求处理流式响应

AI对话接口采用流式返回&#xff1a; 1、使用Flurl处理返回的数据流 using Flurl; using Flurl.Http; [HttpPost] public async Task<string> GetLiushiChatLaw() { //1、请求参数&#xff0c;根据实际情况 YourModel request new YourModel();string allStr …

BIO、NIO、AIO

第一章 BIO、NIO、AIO课程介绍 1.1 课程说明 ​ 在Java的软件设计开发中,通信架构是不可避免的,我们在进行不同系统或者不同进程之间的数据交互,或者在高并发下的通信场景下都需要用到网络通信相关的技术,对于一些经验丰富的程序员来说,Java早期的网络通信架构存在一些缺…

Ubuntu升级Linux内核教程

本文作者CVE-柠檬i: CVE-柠檬i-CSDN博客 本文使用的方法是dpkg安装&#xff0c;目前版本为5.4.0-204&#xff0c;要升级成5.8.5版本 下载 下载网站&#xff1a;https://kernel.ubuntu.com/mainline/ 在该网站下载deb包&#xff0c;选择自己想要升级的版本&#xff0c;这里是5…

C#与Vue2上传下载Excel文件

1、上传文件流程&#xff1a;先上传文件&#xff0c;上传成功&#xff0c;返回文件名与url&#xff0c;然后再次发起请求保存文件名和url到数据库 前端Vue2代码&#xff1a; 使用element的el-upload组件&#xff0c;action值为后端接收文件接口&#xff0c;headers携带session信…

flutter 使用google_mlkit_image_labeling做图片识别

在AI横行的如今&#xff0c;相信大家或多或少都做过跟AI接轨的需求了吧&#xff1f;今天我说的是关于图片识别的需求&#xff0c;flutter的专属图片识别插件google_mlkit_image_labeling。 google_mlkit_image_labeling它是Google旗下的Google Cloud Vision API中分支出来的一部…

LVS四层反向代理

这里写自定义目录标题 一、LVS四层反向代理架构的组成部分1. 负载调度器&#xff08;Director/Load Balancer&#xff09;&#xff1a;2. 服务器池&#xff08;Real Server/Server Pool&#xff09;&#xff1a;3. 共享存储&#xff08;Shared Storage&#xff09;&#xff08;…

02、Redis从入门到放弃 之 常用命令和基本数据类型操作

Redis从入门到放弃 之 常用命令和基本数据类型操作 一、Redis通用命令 redis-cli -h 127.0.0.1 -p 6379 redis客户端登录 -h host -p 端口 -a 密码exit 退出当前客户端info 返回redis的一些相关信息&#xff08;包括端口、配置文件等&#xff09;flushdb 清空当前库…