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

news2024/12/26 5:20:22

师从黑马程序员

序列

序列的常用操作-切片

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

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

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

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}")

若有侵权,请联系作者

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

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

相关文章

LeetCode-热题100:79. 单词搜索

题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相…

解决长尾问题,BEV-CLIP:自动驾驶中复杂场景的多模态BEV检索方法

解决长尾问题,BEV-CLIP:自动驾驶中复杂场景的多模态BEV检索方法 理想汽车的工作,原文,BEV-CLIP: Multi-modal BEV Retrieval Methodology for Complex Scene in Autonomous Driving 链接:https://arxiv.org/pdf/2401.…

C++函数返回机制,返回类型

return语句终止当前正在执行的函数并将控制权返回到调用该函数的地方。 return语句有两种形式 return;return expression; 无返回值函数 没有返回值的return语句只能用在返回类型是void的函数中。 返回void的函数不要求必须有return语句,因为这类函数的最后一句…

手撕算法-接雨水

描述 分析 i位置能积累的雨水量,等于其左右两边最大高度的最小值。为了能获取i位置左右两边的最大高度。使用动态规划。两个dp数组: leftMaxrightMax 其中 leftMax[i] 代表i位置左边的最大高度rightMax[i] 代表i位置右边的最大高度 初始状态&#x…

新手装修:卫生间渗水原因及解决方法。福州中宅装饰,福州装修

引言 瓷砖渗水问题常常发生在卫生间区域,需要及时处理以免造成地面滑倒和墙面霉菌等问题,为了解决这一问题,我们应该怎么做呢? 首先要检查水管是否漏水,可以进行打压测试来确认是否存在漏水情况。如果发现水管破损造成…

php 快速入门(一)

一、配置系统环境 1.1 安装软件 1、安装php的开发软件:phpstorm 在这个软件中写代码 2、安装php的运行软件:phpstduy 写好的php程序需要放到phpstduy中,用户才能访问和测试 安装过程注意事项:安装的路径中不能有空格和中文字符&…

什么是 PDAF?它是如何工作的?相位检测自动对焦解释

常见问题解答 什么是相位对焦 PDAF 代表相位检测自动对焦。这是一种自动对焦方法,可以检测光线进入相机时的行进和交汇位置。在智能手机中,这是在传感器级别完成的。为了使物体聚焦,光线应该在同一点相遇。如果不这样做,系统将确定如何调整镜头以达到焦点。 PDAF 好用吗…

HTTP --- 下

目录 1. HTTP请求方式 1.1. HTML 表单 1.2. GET && POST方法 1.2.1. 用 GET 方法提交表单数据 1.2.2. 用 POST 方法提交表单数据 1.2.3. 总结 1.3. 其他方法 2. HTTP的状态码 2.1. 重定向 2.1.1. 临时重定向 && 永久重定向 2.1.2. 302 &&…

UE5 C++ 3D血条 响应人物受伤 案例

一.3Dwidget 1.创建C Userwidget的 MyHealthWidget,声明当前血量和最大血量 UCLASS() class PRACTICEC_API UMyHealthWidget : public UUserWidget {GENERATED_BODY() public:UPROPERTY(EditAnywhere,BlueprintReadWrite,Category "MyWidget")float C…

基于Springboot+Vue的在线考试系统!免费领取源码

今天给大家分享一套基于SpringbootVue的在线考试系统源码,在实际项目中可以直接复用。(免费提供,文末自取) 一、系统运行图 1、登陆页面 2、后台管理 3、全套环境资源 二、源码免费领取方式 关注本号,回复 考试 关注本号,回复…

【数据结构】快速排序(用递归)

大家好,我是苏貝,本篇博客带大家了解快速排序,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️ 目录 一. 基本思想二. 快速排序2.1 hoare版本2.2 挖坑法2.3 前后指针法2.4 快速排序优化三数取中法…

数据结构:堆和二叉树遍历

堆的特征 1.堆是一个完全二叉树 2.堆分为大堆和小堆。大堆:左右节点都小于根节点 小堆:左右节点都大于根节点 堆的应用:堆排序,topk问题 堆排序 堆排序的思路: 1.升序排序,建小堆。堆顶就是这个堆最小…

设计模式-访问者(Visitor)模式详解和应用

文章目录 前言访问者模式介绍结构包含的角色应用场景代码示例访问者模式的扩展访问者模式优缺点总结 前言 最近在做一个根据数学表达式生成java执行代码的功能,其中用到了访问者模式。使我对访问者模式有了更深入的理解。故写下此篇文章分享出来,不足之…

ios逆向某易新闻 md5+aes

本期的案例比较简单,也许是ios逆向算法本来就比较简单的原因,所以前面我就多扯一些爬虫和逆向的东西。之前写的文章都是js逆向和android逆向的案例,这也是首篇ios的案例,所以会从入门开始讲起。 3大逆向对比 首先爬虫工程师大部…

Objective-C—Class底层结构探索,真心分享给你!!!

isa 走位图 在讲 OC->Class 底层类结构之前,先看下下面这张图: 通过isa走位图 得出的结论是: 1,类,父类,元类都包含了 isa, superclass 2,对象isa指向类对象,类对象的isa指向了元…

C语言操作符和数据类型的存储详解

CSDN成就一亿技术人 目录​​​​​​​ 一.操作符 一.算数操作符: 二.位移操作符: 三.位操作符: 四.赋值操作符: 五.单目操作符: 六.关系操作符: 七.逻辑操作符: 八.条件操作符&…

Java学习笔记 | JavaSE基础语法05 | 方法

文章目录 0.前言1. 方法概述2. 方法的定义和调用2.1 无参数方法定义和调用2.2 带参数方法定义和调用1 带参数方法定义和调用2 形参和实参3 带参数方法练习 2.3 带返回值方法的定义和调用1 带返回值方法定义和调用2 带返回值方法练习13 带返回值方法练习24 带返回值方法练习3 3.…

V R元宇宙平台的未来方向|V R主题馆加 盟|游戏体验馆

未来,VR元宇宙平台可能会呈现出以下发展趋势和可能性: 全面融合现实与虚拟世界: VR元宇宙平台将更加无缝地融合现实世界和虚拟世界,用户可以在虚拟环境中进行各种活动,与现实世界进行互动,并且体验到更加逼…

C程序编译、链接与项目构建

C程序编译、链接与项目构建 摘要C编译环境静、动态库介绍gcc与g和程序编译、链接Visual Studio创建和链接库动态库的显示调用 Make介绍安装使用 CMake介绍安装使用构建方式内部构建外部构建构建使用静/动态库常用[系统]变量常用指令CMake模块 Make与CMake的联系与区别 摘要 本…

代码随想录|Day26|贪心01|455.分发饼干、376.摆动序列、53.最大子数组和

455.分发饼干 大尺寸的饼干既可以满足胃口大的孩子也可以满足胃口小的孩子。 局部最优:尽量确保每块饼干被充分利用 全局最优:手上的饼干可以满足尽可能多的孩子 思路:大饼干 尽量分给 大胃口孩子 将小孩和饼干数组排序,我们从大到…