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

news/2024/6/16 20:20:50

师从黑马程序员

序列

序列的常用操作-切片

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

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

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

my_list=[0.1,2,3,4,5,6]
result1=my_list[1:4]  #步长默认是1,所以可以省略不写
print(f"结果1:{result1}")#1,2,3my_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.tangninghui.cn.cn/item-11907.htm

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

相关文章

工程数学-线性代数-第六版-第一章—行列式学习笔记

目录 一、第一章——行列式 1 二阶与三阶行列式 一、二元线性方程组与二阶行列式 二、三阶行列式 2 全排列和对换 一、排列及其逆序数 二、对换 3 n阶行列式的定义 4 行列式的性质 5 行列式按行(列)展开 二、习题一 三、参考书目 一、第一章——行…

Windows 2019服务器上安装NFS服务器

提供NFS服务服务器: Windows 2019服务器上安装NFS服务器资源管理器 创建目录比如D:\nfshare, 鼠标邮件菜单 点击 属性,进行NFS共享 使用NFS服务的客户端: 另外一台Windows服务器,需要安装NFS客户端 具体操作:Window…

数据结构与算法4-冒泡排序

文章目录 1. 认识冒泡排序2. 图示2.1 图示12.2 图示2 3. 代码 1. 认识冒泡排序 双层for循环,每次选出最大的数“浮”到数组的最后面;时间复杂度O( n 2 n^2 n2),空间复杂度O(1);重复地遍历待排序的数列,一次比较两个元素&#xff…

电脑照片分辨率怎么调?这款dpi修改工具好用

许多考试平台在上传证件照片的时候,大多都会对图片分辨率有具体要求,但是如果遇上手上的图片分辨率达不到要求,那么怎么改图片分辨率呢?可以利用专业的dpi修改工具来处理,比如今天分享的就是一个在线修改图片分辨率的方…

mabatis 下

mybatis 原生的API&注解的方式MyBatis-原生的API调用快速入门需求快速入门代码实现 MyBatis-注解的方式操作快速入门需求快速入门代码实现注意事项和说明 mybatis-config.xml配置文件详解说明properties属性settings全局参数定义typeAliases别名处理器typeHandlers类型处理…

Flutter与Xamarin跨平台APP开发框架的区别

嘿,各位亲爱的朋友们!大家好,我是咕噜铁蛋!今天我们要探讨的话题是:Flutter与Xamarin这两款热门的跨平台APP开发框架。我深知选择合适的开发工具对于开发者来说有多么重要。那么,当我们需要开发跨平台应用时…