Python 数据类型 (2)

1 集合类型:一维数组的集合

List列表是一个有序且可变的集合。允许重复成员。

turple元组是一个有序且不可更改的集合。允许重复成员。

Set集合是一个无序且无索引的集合。没有重复的成员。

dict字典是一个有序*且可变的集合。没有重复的成员。

!!!从 Python 3.7 版开始,字典才是有序的!!

2 列表类型(序列)

列表是使用方括号创建的:列表项值可以是任务数据类型

创建新列表时也可以使用 list() 构造函数

列表允许出现重复 由于列表已编入索引,因此列表可以包含具有相同值的项目:

mylist = ["一号", "二号", "三号"]
print(mylist)
mylist2=list["一号", "二号", "三号"]
print(mylist2)
mylist3 = ["一号", "四号", "三号","9号"]
print(mylist3)

支持根据需求列出列表值 1 单个索引,正常索引 :通过引用索引号来访问 注意:第一项的索引为 0。 2 负索引: 负索引意味着从头开始,-1指最后一项, -2指倒数第二项等。 3 索引范围 4 负指数范围

print(mylist[0])
print(mylist[-2])
print(mylist3[0:2])  #2不在内
print(mylist3[-2:-1])

可遍历列表 1 循环遍历列表for 。 2 遍历索引号 3 while循环遍历索引

for i in mylist :print(i)for i in range(len(mylist)):print([i])i =0
while i < len(mylist):print(mylist[i])i+=1

列表长度 len()函数表示

print(len(mylist))

检查列表是否存在符合条件的数据 指定数据 请使用in关键字。

print('四' in mylist3)
if '四号' in mylist3:print("数据存在")

更改列表值,可通过索引号 1 单索引 2 多索引 多个更改

mylist3[0]='五号啦'
print(mylist3)
mylist3[0:3]=['6号啦','对得了']
print(mylist3)

插入列表 从哪起插入,然后插入后,之前的数据往后,插入的数据是哪个就是第几个, 也可以指定位置添加数据

mylist4 = ["一号", "四号", "三2号","10号",'888']
mylist4.insert(1,'cahrule')
print(mylist4)     

末尾加数据 用将值添加到列表的末尾,请使用append() 方法:

mylist4.append("moweitianj")
print(mylist4)   

合并列表数据 将另一个列表中的元素附加到当前列表,请使用extend()方法。

注意:extend()方法不一定要 列表,您也可以添加任何可迭代对象(元组、集合、字典等)。

mylist4.extend(mylist3)

删除列表

删除指定目标 remove()方法

删除指定索引 pop()方法, 需要注意的是, 如果不指定索引,该pop()方法将删除最后一项。

del删除指定的索引 ,del关键字也可以完全删除列表, 也可以试试看看,但是会把列表删除找不到

mylist5 = ["一号", "四号", "三9号","10号",'8998']
mylist5.remove('一号')
print(mylist5)   
mylist5.pop(2)
print(mylist5)   
del mylist5[0]
print(mylist5)  
del mylist5
print(mylist5)  #数据列表不存在

clear()方法清空列表。该列表仍然存在,但没有内容。

mylist6 = ["一号", "四号", "三9号","10号",'8998']
mylist6.clear()
print(mylist6)  

列表排序 区分大小写的排序

默认情况下,该sort()方法区分大小写,导致所有大写字母都排在小写字母之前:

不区分大小写的排序 str.lower 作为键函数:

mylist8= ["ABH", "aboh", "sudi","13号",'234']
mylist8.sort()
print(mylist8)
mylist8.sort(key=str.lower)
print(mylist8)

倒序

reverse()方法反转元素的当前排序顺序。

mylist8.reverse()
print(mylist8)

复制列表 copy()方法制作列表的副本: list()方法制作列表的副本:

mcopylist=mylist8.copy()
mylisys=list(mylist8)
print(mcopylist)
print(mylisys)

3 字典类型

什么是元组,简单的理解就是将一堆数据存放到一个容器中

但这个容器有一个特点,就是很固执,一旦定义了之后就不可改变,从某种意义上来说元组就是不可以改变的列表,功能和列表类似,同样可以进行切片、修改等操作。

元组的定义和列表类似,在括号中添加元素,元素之间使用逗号隔开

my_tuple=(1,2,5,7)
print(my_tuple)

tuple()函数:此函数的作用有两个:(1)可以使用tuple()创建一个空的元组

my_blank=()
my_blank2=tuple()
print(type(my_blank2),my_blank2)

任意无符号的对象,以逗号隔开,默认为元组, 元组应该要放到括号中,列表应该放到中括号中,然后用逗号来分割里面的元素,但是如果你什么符号都不使用,仅仅用逗号分割多个元素,这个时候Python默认你传入的参数类型为元组

my_tuples=1,2,3,88
print(type(my_tuples),my_tuples)

需要注意的是 如果元组中只有一个元素的话,需要在元素的后面加上一个逗号,否则元组只有一个元素不加逗号话,那么python 并不会认为它是一个元组

my_tuple1=(1,)
my_tuple2=(1)
print(type(my_tuple1),my_tuple1)
print(type(my_tuple2),my_tuple2)

元组也可以定义一个二维元组或者多维元组 ,并能够进行遍历

my_tuple3=((1,3),(5,6))  #多维组遍历出来展示
for i in my_tuple3:print(i)for i in my_tuple3:  #列表数据遍历循环出来展示for cs in i:print(cs)

访问元组 访问和列表一样也是通过索引号来访问的 索引也是从0开始

my_tuple5=(1,2,5,7,9,3)
print(my_tuple5[0])

访问元组中某个范围元素的时候,此时就需要使用到切片的操作 和list 用法很多相似

print(my_tuple5[0:3])
print(my_tuple5[-3:-2])

将对应数据类型转换成元组

str='好的'
mytuple=tuple(str)
print(type(mytuple))

最大值 最小值

print(max(my_tuple5))
print(min(my_tuple5))

index()函数: 查找元组中某个元素在元组中的位置,如果元素出现多次则返回元素第一次出现的索引 index()函数,如果不指定范围,默认是查找整个元组,我们也可以指定范围

print(my_tuple5.index(1))

count()函数:统计元素出现的次数

print(my_tuple5.count(3))

和列表区别 由于元组是不可以修改的,所以使用元组最大的好处就是保证数据安全,一旦数据确定就无法修改其内容,除非你使用del指令将整个元组删除。

4 元组类型

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

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

相关文章

Unity C# Mp3 Mp4 音频 视频 合成

需求 将声音文件合并到视频中 限制 暂时只支持Windows使用 准备 下载ffmpeg.exe 解压后得到exe https://ffmpeg.org/download.html#releases 注意事项&#xff1a; 目录要在一起 代码 public void StartExe(){if (File.Exists(ffmpegExe)){ string mp4;string mp3;//…

深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第四节 参数传递对堆栈的影响 1

深入浅出图解C#堆与栈 C# Heaping VS Stacking 第四节 参数传递对堆栈的影响1 [深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第一节 理解堆与栈](https://mp.csdn.net/mdeditor/101021023)[深入浅出图解C#堆与栈 C# Heap(ing) VS Stack(ing) 第二节 栈基本工作原理](http…

将H5封装为App:实现跨平台移动应用开发的新趋势

H5技术指的是HTML5、CSS3和JavaScript等一系列前端技术的综合应用。它具有跨平台、开发成本低、开发周期短等优势&#xff0c;可以快速实现丰富的界面和交互效果。而原生应用开发受限于操作系统的差异&#xff0c;需要分别开发不同平台的应用&#xff0c;这就增加了开发成本和工…

2023年度总结(找到工作)

转眼2023年结束了&#xff0c;今天已经12月29日了。从2022年12月25日考研失败后&#xff0c;2023年就变成了找工作以及上班度日的时光了。针对2023年&#xff0c;我想对自己所说的是&#xff1a;终于找到工作了。作为一个普通的专升本&#xff0c;考研落榜生来说&#xff0c;能…

使用qemu-system-loongarch64在x86上起loongarch64虚拟机

一、下载Qemu 源码 wget https://download.qemu.org/qemu-8.2.0.tar.xz 二、安装编译依赖 sudo apt update sudo apt install clang sudo apt-get install git libglib2.0-dev libfdt-dev libpixman-1-dev zlib1g-dev ninja-build sudo apt-get install git-email sudo apt-…

熊猫目标检测数据集VOC格式1200张

熊猫是中国的国宝&#xff0c;也是世界上最受人喜爱的动物之一。熊猫以其独特的外貌和与生俱来的文化象征意义而闻名于世。它们是一种大型的食草动物&#xff0c;主要分布在中国中部地区的竹林和高山地带。 熊猫的身形圆润笨拙&#xff0c;黑白分明&#xff0c;拥有圆润的脸庞…

C++进阶--多态

多态 一、多态的概念二、多态的定义及实现2.1 构成多态的两个硬性条件2.2 虚函数的重写2.2.1 协变(基类与派生类虚函数返回值类型不同)2.2.2 析构函数的重写(基类与派生类析构函数的名字不同) 2.3 final和override2.4 重载、覆盖&#xff08;重写&#xff09;、隐藏&#xff08…

基于Java图书借阅管理系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

英语中修饰头发的形容词顺序是怎么样的(加补充)

一、英语描述发型 :漂亮长短形状颜色头发。 例如她有一头美丽的黑色的直发。She has beautiful long straight black hair.二、多个形容词修饰同一名词时的顺序是固定的&#xff0c;其顺序为&#xff1a;①冠词、指示代词、不定代词、物主代词②序数词基数词③一般性描绘形容词…

小红书品牌曝光方式有哪些,小红书投放总结!

辛辛苦苦撰写了笔记&#xff0c;却没有人看。不懂平台的曝光策略&#xff0c;就无法获得预期的营销结果。今天就来分享下小红书品牌曝光方式有哪些&#xff0c;小红书投放总结&#xff01; 第一招&#xff0c;打造账号IP 在小红书平台进行传播&#xff0c;打造账号IP非常重要。…

Apache Doris (五十六): Doris Join类型 - 四种Join对比

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 Doris 支持两种物理算子,一类是…

竞赛保研 基于情感分析的网络舆情热点分析系统

文章目录 0 前言1 课题背景2 数据处理3 文本情感分析3.1 情感分析-词库搭建3.2 文本情感分析实现3.3 建立情感倾向性分析模型 4 数据可视化工具4.1 django框架介绍4.2 ECharts 5 Django使用echarts进行可视化展示5.1 修改setting.py连接mysql数据库5.2 导入数据5.3 使用echarts…

2023 楚慧杯 --- Crypto wp

文章目录 初赛so large e 决赛JIGE 初赛 so large e 题目&#xff1a; from Crypto.Util.number import * from Crypto.PublicKey import RSA from flag import flag import randomm bytes_to_long(flag)p getPrime(512) q getPrime(512) n p*q e random.getrandbits(1…

全新研发体系助力产品落地 传音控股成科技出海代表

一直以来&#xff0c;手机都被认为是所有新技术的最佳应用载体&#xff0c;尤其是在数字化、智能化时代&#xff0c;技术创新能力决定着手机厂商的生存与发展。 作为全球新兴市场手机行业的中坚力量之一&#xff0c;传音控股始终坚持以技术创新为驱动&#xff0c;围绕用户需求…

uniapp的运行在微信小程序上分享微信好友,名称、路径、图片、配置

目录 分享给微信好友1、自定义按钮实现分享&#xff0c;在页面中使用按钮来实现分享功能2、js文件中分享的方法3、获取分享的参数下面的可以加,也可以不加&#xff0c;根据自己需求&#xff0c;通用的上面的就可以用了4、小程序的原生菜单中隐藏分享按钮5、小程序 分享卡片 禁止…

最大后验概率法

在贝叶斯统计中&#xff0c;最大后验概率&#xff08;maximum a posteriori, MAP&#xff09;估计是对后验分布的模的估计。MAP可根据经验数据获得未观测量的点估计。它与最大似然&#xff08;ML&#xff09;估计方法密切相关&#xff0c;但采用了一个包含先验分布的增强优化目…

【数据结构】七、图

一、概念 图&#xff1a;记为G(V,E) 有向图&#xff1a;每条边都有方向 无向图&#xff1a;边无方向 完全图&#xff1a;每个顶点都与剩下的所有顶点相连 完全有向图有n(n-1)条边&#xff1b;完全无向图有n(n-1)/2条边 带权图&#xff1a;边上标有数值的图 连通图&#…

使用 pytest 相关特性重构 appium_helloworld

一、前置说明 在 pytest 基础讲解 章节,介绍了 pytest 的特性和基本用法,现在我们可以使用 pytest 的一些机制,来重构 appium_helloworld 。 appium_helloworld 链接: 编写第一个APP自动化脚本 appium_helloworld ,将脚本跑起来 代码目录结构: pytest.ini 设置: [pyt…

Goby 漏洞发布| QNAP NAS authLogin.cgi 命令执行漏洞(CVE-2017-6361)

漏洞名称&#xff1a;QNAP NAS authLogin.cgi 命令执行漏洞&#xff08;CVE-2017-6361&#xff09; English Name&#xff1a;QNAP NAS authLogin.cgi command execution vulnerability (CVE-2017-6361) CVSS core: 9.8 影响资产数&#xff1a; 2637547 漏洞描述&#xff1…

pd工具箱 Parallels Toolbox

Parallels Toolbox是一款适用于Mac和PC的强大工具箱软件&#xff0c;集成了多种实用的工具和功能&#xff0c;旨在帮助用户提高工作效率和生产力。它提供了文件管理、截图、音频视频处理、清理工具等众多工具&#xff0c;使用户能够方便快捷地完成各种常见任务。Parallels Tool…