数据容器-序列-集合-Python

师从黑马程序员

序列

序列的常用操作-切片

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

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

注:此操作不会影响序列本身,而是会得到一个新的序列

my_list=[0.1,2,3,4,5,6]
result1=my_list[1:4]  #步长默认是1,所以可以省略不写
print(f"结果1:{result1}")#1,2,3

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

my_str="01234567"
result3=my_str[::2]
print(f"结果3:{result3}")

my_str="01234567"
result4=my_str[::-1]
print(f"结果4:{result4}")

my_list=[0.1,2,3,4,5,6]
result5=my_list[3:1:-1]
print(f"结果5:{result5}")

my_tuple=(0,1,2,3,4,5,6)
result6=my_tuple[::-2]
print(f"结果2:{result6}")

切片实践案例:

my_str="万过薪月,员序程马黑来,nohtyP学"

#方法1
result1=my_str[::-1][9:14]
print(f"方式1结果:{result1}")

#方法2
result2=my_str[5:10][::-1]
print(f"方式2结果:{result2}")

#方法3
result3=my_str.split(",")[1].replace("来","")[::-1]
print(f"方式3结果:{result3}")
my_str="万过薪月,员序程马黑来,nohtyP学"

集合的定义和操作

集合主要特点:不支持重复元素,有去重功能

基本语法:

注:集合无序,集合不支持下标索引访问

添加新元素

移除元素

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

从集合中随机取出元素

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

清空集合

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

取两个集合的差集

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

消除两个集合的差集

set1={1,2,3}
set2={1,5,6}
set1.difference_update(set2)
print(f"消除差集后,所有set1的内容:{set1}")
print(f"消除差集后,所有set2的内容:{set2}")

两个集合合并

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

统计集合元素数量

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

遍历集合

注:不支持while循环遍历集合

set1={1,2,3,4,5}
for element in set1:
    print(f"集合的元素有:{element}")

 集合常用功能总结

r

my_list=["黑马程序员","传智播客","黑马程序员","传智播客","itheima","itcast","itheima","itcast","best"]

my_set=set()
for element in my_list:
    my_set.add(element)
print(f"集合中有元素:{my_set}")

若有侵权,请联系作者

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【大模型】VS Code(Visual Studio Code)上安装的扩展插件用不了,设置VS Code工作区信任

文章目录 一、找到【管理工作区信任】二、页面显示处于限制模式,改为【信任】三、测试四、总结 【运行环境】win 11 相关文章: 【大模型】直接在VS Code(Visual Studio Code)上安装CodeGeeX插件的过程 【问题】之前在 VS Code上安装 CodeGeeX 插件后&…

C语言中如何动态分配内存并进行操作

C语言文章更新目录 C语言学习资源汇总,史上最全面总结,没有之一 C/C学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程…

100个openharmony开源demo:1.日历

准备用开发者手机写100个开源的demo不知道能不能实现,日拱一卒,期待蜕变。 第一个demo:日历,借鉴了网上的日历算法,自己用arkts写了界面和点击事件,各位可根据此demo写自己的日历选择器等组件。 1.目录结…

Go——map操作及原理

一.map介绍和使用 map是一种无序的基于key-value的数据结构,Go语言的map是引用类型,必须初始化才可以使用。 1. 定义 Go语言中,map类型语法如下: map[KeyType]ValueType KeyType表示键类型ValueType表示值类型 map类型的变量默认…

python总结-Linux系统使用

设置变量并输出 [rootldpbzhaonan py]$ cat var01.py str1hello str2worldprintf "${str1} ${str2} \n" printf ${str1} ${str2} \n\n就是代表换行,使用printf输出的话,没有自动换行。 不使用换行如下图显示 [rootldpbzhaonan py]$ cat var0…

C语言学习 五、一维数组与字符数组

5.1一维数组 5.1.1数组的定义 数组特点: 具有相同的数据类型使用过程中需要保存原始数据 C语言为了方便操作这些数据,提供了一种构造数据类型——数组,数组是指一组具有相同数据类型的数据的有序集合。 一维数组的定义格式为 数据类型 数…

虚拟+现实,刷新线上直播的“打开方式”

近年来,短视频和线上直播大热,成为我们看世界的途径之一,我们渐渐习惯了看屏幕里面的虚拟世界。随着AIGC技术的不断革新,让虚拟直播间的体验感越来越真实,给我们带来了不同寻常的体验。 虚实融合,超越传统…

将ORB-SLAM3用图像增强的方式打开

ORB-SLAM3在复杂光照环境下,特征提取和特征匹配的性能明显下降,其准确性和鲁棒性收到很大影响,尤其是当周围环境获取的ORB特征点数量不足时,位姿的估计过程无法进行,甚至或导致初始化和跟踪失败的情况,目前…

03、Lua 基本语法

Lua 基本语法 Lua 基本语法第一个 Lua 程序交互式编程脚本式编程 注释单行注释多行注释 标示符关键词全局变量 Lua 基本语法 Lua学习起来非常简单,我们可以创建第一个 Lua 程序! 第一个 Lua 程序 交互式编程 Lua提供了交互式编程模式。我们可以在命令…

开始喜欢上了runnergo,JMeter out了?

RunnerGo是一款基于Go语言、国产自研的测试平台。它支持高并发、分布式性能测试。和JMeter不一样的是,它采用了B/S架构,更灵活、更方便。而且,除了API测试和性能测试,RunnerGo还加上了UI测试和项目管理等实用功能,让测…

蓝桥杯刷题-串的处理

串的处理 代码 s input().split() l_new [] for i in s:i list(i)new""for j in range(len(i)-1): # 遍历newi[j]if i[j].isdigit() and i[j1].isalpha(): # 在字母和数字之间添加“_”new_if i[j].isalpha() and i[j1].isdigit(): # 同上new_newi[-1]l_new.appe…

K3 计划订单投放时,将“关联物料”传递到采购和生产订单的“组部件”字段

参考K/3 WISE 中MRP计算投放过程中 销售订单自定义字段怎么携带到任务单这篇文章,进行优化。 在表ICMrpDestBills下增加触发器,代码如下 CREATE TRIGGER [dbo].[ICMrpDestBills_update]ON [dbo].[ICMrpDestBills]AFTER INSERT,UPDATE AS BEGINSET NO…

mysql 设置初始密码

link 1.首先输入以下指令: sudo cat /etc/mysql/debian.cnf运行截图如下: 2. 再输入以下指令: mysql -u debian-sys-maint -p//注意! //这条指令的密码输入是输入第一条指令获得的信息中的 password ZCt7QB7d8O3rFKQZ 得来。//请根据自己的实…

【CKA模拟题】如何发布一个SVC资源

题干 For this question, please set this context (In exam, diff cluster name) kubectl config use-context kubernetes-adminkubernetesYou have an existing Nginx pod named nginx-pod . Perform the following steps: Expose the nginx-pod internally within the cl…

Linux系统部署Paperless-Ngx文档管理系统结合内网穿透实现公网访问

文章目录 1. 部署Paperless-ngx2. 本地访问Paperless-ngx3. Linux安装Cpolar4. 配置公网地址5. 远程访问6. 固定Cpolar公网地址7. 固定地址访问 Paperless-ngx是一个开源的文档管理系统,可以将物理文档转换成可搜索的在线档案,从而减少纸张的使用。它内置…

二手车交易网站|基于JSP技术+ Mysql+Java+ B/S结构的二手车交易网站设计与实现(可运行源码+数据库+设计文档)

推荐阅读100套最新项目 最新ssmjava项目文档视频演示可运行源码分享 最新jspjava项目文档视频演示可运行源码分享 最新Spring Boot项目文档视频演示可运行源码分享 2024年56套包含java,ssm,springboot的平台设计与实现项目系统开发资源(可…

一些恶意样本的流量分析学习

Trickbot Trickbot 是一种自 2016 年以来一直在感染受害者的信息窃取者和银行恶意软件。Trickbot通过恶意垃圾邮件(malspam)分发,也由其他恶意软件(如Emotet,IcedID或Ursnif)分发。 分析来自恶意垃圾邮件…

Frida 官方手册 中文版 ( 机翻+人翻 )

Frida 英文文档:https://frida.re/docs/home/ Frida 中文文档:https://pypi.org/project/frida-zhongwen-wendang/ 目的:给自己一个认真阅读文档的机会!!! 部分名词找不到合适的中文表达,直接使…

计算机视觉技术:美颜SDK在直播平台的集成与优化

当下,美颜技术在直播平台中的应用变得愈发重要。接下俩,小编将深度讲解计算机视觉技术在美颜SDK集成与优化方面的应用,以提升直播平台的用户体验。 一、美颜技术的发展 传统的美颜功能只是简单地对图像进行柔化处理,而现在的美颜…

你真的会数据结构吗:堆

❀❀❀ 文章由不准备秃的大伟原创 ❀❀❀ ♪♪♪ 若有转载&#xff0c;请联系博主哦~ ♪♪♪ ❤❤❤ 致力学好编程的宝藏博主&#xff0c;代码兴国&#xff01;❤❤❤ 好久不见&#xff0c;甚是想念&#xff0c;不知道大家有没有察觉到大伟的头像和名字变了鸭 <(*&#xffe…