当前位置: 首页 > news >正文

PYthon组合数据类型的简单使用

Python的数据类型有两种,基本数据类型和组合数据类型,组合数据类型在Python的使用中特别重要。

1.组合数据类型的分类:

在这里插入图片描述

2.序列类型

序列类型中元素存在顺序关系,可以存在数值相同但位置不同的元素。序列类型支持成员关系操作符(in)、长度计算函数(len())、分片([]),元素本身也可以是序列类型。
python中的序列类型有str(字符串)、tuple(元组)和list(列表)。

2.1.序列类型的通用操作符和函数

(1). x in s 如果x是s 的元素,返回True,否则返回False
(2). x not in s 如果x不是s 的元素,返回True,否则返回False
(3). s+t 连接s 和t
(4). s*n或n*s 将序列s 复制n次
(5). s[i] 索引,返回序列第i个元素
(6). s[i:j] 分片,返回包含序列s第i到j个元素的子序列(不包含第j个元素)
(7). s[i:j:k] 步骤分片,返回包含序列s第i到j个元素以k为步数的子序列的子序列
(8). len(s) 序列s的元素个数(长度)
(9). min(s) 序列s的最小元素
(10). max(s) 序列s中的最大元素
(11). s.index(x[,i[,j]]) 序列s从i开始到j位置中第一次出现元素x的位置
(12). s.count(x) 序列s中出现x的总次数

2.2.元组

元组一旦创建就不能被修改,一般用于表达固定数据项、函数多返回值,多变量同步赋值、循环遍历等。
(1) 元组的创建
元组采用逗号分隔或圆括号来表示。
在这里插入图片描述
(2) 操作符示范
在这里插入图片描述

2.3.列表类型

列表(list)是包含0个或多个对象引用的有序序列。
列表的长度和内容都是可变的,可自由对列表中的数据项进行增加、删除或替换。列表没有长度限制,元素类型可以不同。

(1) 列表的定义
列表用中括号([])表示,也可以通过list()函数将元组或字符串转化成列表。直接使用list()函数会返回一个空列表。
在这里插入图片描述
(2). 列表类型的特有函数
列表类型是序列类型,所以,序列类型的操作符和函数都可应用于列表类型。由于列表是可变的,所以它有额外的常用函数或方法。
(2.1) ls[i]=x 替换列表ls第i数据项为x
(2.2) ls[i:j]=lt 用列表lt替换列表ls中第i到第j项数据(不含第j项,下同)
(2.3) ls[i:j:k]=li 用列表lt替换列表ls中第i到第j项数据以k为步数的数据
(2.4) del ls[i:j] 删除列表ls第i到第j项数据,等价于ls[i:j]=[]
(2.5) del ls[i:j:k] 删除列表ls第i到第j项以k为步数的数据
(2.6) ls+=lt或ls.extend(lt) 将列表lt元素增加到列表ls中
(2.7) ls*n 更新列表ls,其元素重复n次
(2.8) ls.append(x) 在列表ls最后增加一个元素x
(2.9) ls.clear() 删除ls中的所有元素
(2.10) ls.copy() 生成一个新列表,复制ls中的所有元素
(2.11) ls.insert(i,x) 在列表ls的第i位置增加元素x
(2.12) ls.pop(i) 将列表中第i项元素取出并删除该元素
(2.13) ls.remove(x) 将列表中出现的第一个元素x删除
(2.14) ls.reverse(x) 列表中的元素反转
(3.) 函数示范!
在这里插入图片描述
在这里插入图片描述
(4.) 注意
(4.1.) 列表要处理一组数据,因此,列表必须通过显示的数据赋值才能生成,简单将一个列表赋值给另一个列表不会生成新的列表对象,而是对这个列表的引用。
在这里插入图片描述
(4.2.) 当列表改变另一个列表值时,Python不要求两个列表长度一样,但遵循“多增少减”的原则
在这里插入图片描述
(4.3) 列表的遍历
列表通过for in 语句对元素遍历
for <任意变量名> in <列表名>:
<语句块>
在这里插入图片描述

3.集合类型

集合类型与数学中集合的概念一致,即包含0个或多个数据项的无序组合。集合中的元素不可重复,元素类型只能是固定数据类型,如整数、浮点数、字符串、元组等,列表、字典和集合类型本身都是可变数据类型。
(1). 集合的使用
由于集合是无序组合,所以集合没有索引和位置的概念,不能分片,集合中元素可以动态增减,集合用大括号({})表示,可以用赋值语句生成一个集合。
在这里插入图片描述
由于集合元素是无序的,集合的打印效果与定义顺序可以不一致,由于集合元素独一无二,使用集合类型能够过滤掉重复元素。
在这里插入图片描述
set(x)函数可以用于生成集合,输入的参数可以是任意组合数据类型,返回结果是一个无重复且排序任意的集合。
在这里插入图片描述
集合类型的特点是它不包含重复元素,因此常用于对以为数据进行去重。
(2.) 集合的操作符
(2.1.) S-T或S difference(T) 返回一个新集合,包括在集合S中但不在集合T中的元素
(2.2.) S-T或S.difference_update(T) 更新集合S,包括在集合S中但不在集合T中的元素
(2.3.) S&T或S.intersection(T) 返回一个新集合,包括同时在集合S和T中的元素
(2.4.) S&=T或S.intersection_update(T) 更新集合S,包括同时在集合S和T中的元素
(2.5.) S^T或,S.symmetric_difference(T) 返回一个新集合,包括集合S和T中的元素,但不包括同时在其中的元素
(2.6.) S=^T或,S.symmetric_difference_update(T) 更新集合S,包括集合S和T中的元素,但不包括同时在其中的元素
(2.7.) S|T或S.union(T) 返回一个新集合,包括集合S和T中的所有元素
(2.8.) S=|T或S.update(T) 更新集合S,包括集合S和T中的所有元素
(2.9.) S<=T或S.issubset(T) 如果S与T相同或S是T的子集,返回True,否则返回False,可以用S<T判断S是否是T的真子集
(2.10.) S>T或S.issuperset(T) 如果S与T相同或S是T的超集,返回True,否则返回False,可以用S>T判断S是否是T的真超集

相关文章:

PYthon组合数据类型的简单使用

Python的数据类型有两种&#xff0c;基本数据类型和组合数据类型&#xff0c;组合数据类型在Python的使用中特别重要。 1.组合数据类型的分类&#xff1a; 2.序列类型 序列类型中元素存在顺序关系&#xff0c;可以存在数值相同但位置不同的元素。序列类型支持成员关系操作符&…...

【Java】P2 基础语法与运算符

Java 基础语法 运算符Java注释方法基本数据类型驼峰命名法Scanner类基本运算除法隐式转换逻辑运算符 以及 短路逻辑运算符三元运算符前言 上一节内容涵盖Java的基础知识&#xff0c;包含安装下载&#xff0c;JDK与JRE等。 链接&#xff1a;https://blog.csdn.net/weixin_43098…...

【并发基础】Java中线程的创建和运行以及相关源码分析

目录 一、线程的创建和运行 1.1 创建和运行线程的三种方法 1.2 三者之间的继承关系 二、Thread类和Runnable接口的区别 2.1 Runnable接口可以实现线程之间资源共享&#xff0c;而Thread类不能 2.2 实现Runnable接口相对于继承Thread类的优点 三、实现 Runnable 接口和实现 Call…...

Spark Shuffle

Shuffle : 集群范围内跨节点、跨进程的数据分发 分布式数据集在集群内的分发&#xff0c;会引入大量的磁盘 I/O 与网络I/O在 DAG 的计算中&#xff0c;Shuffle 环节的执行性能是最差的 , 会消耗所有类型的硬件资源 (CPU、内存、磁盘、网络) Spark 2.0 后&#xff0c;将 Shuff…...

Linux/MacOS 生成双击可执行文件

双击可执行文件包含两种&#xff1a;终端shell脚本 Unix可执行文件 1.终端shell脚本 随意新建一个文件&#xff08;可使用command键N&#xff0c;前提是有已打开的文件&#xff09;&#xff0c;输入shell格式的测试代码&#xff0c;比如&#xff1a; #! /bin/sh echo “h…...

Ubuntu三种拨号方法

1.宽带拨号(PPPoE) (1)打开连接。关闭以太网连接&#xff0c;打开有线连接设置&#xff0c;取消勾选“自动连接”选项。 (2)配置连接。在终端输入命令sudo pppoeconf&#xff0c;会看到一系列配置信息&#xff0c;包括用户名、密码&#xff0c;配置完成后会有一些提示信息&…...

Vue-router的引入和安装

什么是Vue-Router&#xff1f;Vue路由器是Vue.js的官方路由器&#xff0c;它与Vue.js核心深度集成&#xff0c;使用Vue轻松构建单页应用程序变得轻而易举。功能包括&#xff1a;嵌套路线映射动态路由模块化&#xff0c;基于组件的路由器配置路由参数&#xff0c;查询&#xff0…...

无线WiFi安全渗透与攻防(四)之kismet的使用

系列文章 无线WiFi安全渗透与攻防(一)之无线安全环境搭建 无线WiFi安全渗透与攻防(二)之打造专属字典 无线WiFi安全渗透与攻防(三)之Windows扫描wifi和破解WiFi密码 kismet 如果要进行无线网络渗透测试&#xff0c;则必须先扫描所有有效的无线接入点。刚好在Kali Linux中&am…...

2023新版PMP考试有哪些变化?

对于2022年很多事情也都在发生&#xff0c;疫情也都没有完全结束&#xff0c;基金会已经开始通知下一场考试了&#xff0c;很多人也会担心新的考纲会不会给自己带来难度&#xff0c;其实这次六月份的考试很多人都内心已经知道了结果&#xff0c;所以这里也详细说一下新考纲的改…...

P8074 [COCI2009-2010#7] SVEMIR 最小生成树

[COCI2009-2010#7] SVEMIR 题目描述 太空帝国要通过建造隧道来联通它的 NNN 个星球。 每个星球用三维坐标 (xi,yi,zi)(x_i,y_i,z_i)(xi​,yi​,zi​) 来表示&#xff0c;而在两个星球 A,BA,BA,B 之间建造隧道的价格为 min⁡{∣xA−xB∣,∣yA−yB∣,∣zA−zB∣}\min\{|x_A-x_…...

10种常见网站安全攻击手段及防御方法

在某种程度上&#xff0c;互联网上的每个网站都容易遭受安全攻击。从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内。 网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站&#xff0c;潜在攻击的风险就在那里。 知己知彼百战不殆&…...

为什么我选择收费的AdsPower指纹浏览器?

在决定开始用指纹浏览器之前&#xff0c;龙哥让我们团队的运营小哥找了市面上很多产品去测试。最后&#xff0c;还是决定用AdsPower。每个人的使用感受都不一样&#xff0c;龙哥就说说几个用得顺手的几个点。一、指纹环境强大 双内核引擎 市面上指纹浏览器内核都是基于谷歌Chro…...

Java输入输出和数组

一、问答题 1. 如何声明和创建一个一维数组&#xff1f; Int i[]new int[3] 2. 如何访问数组的元素&#xff1f; Int a[]new int a[3] for (int x0;x<a.length;x){ System.out.print(i[x]); } System.out.println(); 3.数组下标的类型是什么&#xff1f;最小的下标是什…...

这些免费API帮你快速开发,工作效率杠杠滴

一、短信发送 短信的应用可以说是非常的广泛了&#xff0c;短信API也是当下非常热门的API~ 短信验证码&#xff1a;可用于登录、注册、找回密码、支付认证等等应用场景。支持三大运营商&#xff0c;3秒可达&#xff0c;99.99&#xff05;到达率&#xff0c;支持大容量高并发。…...

干货|最全PCB布线教程总结,14条PCB布线原则技巧,保姆级搞定PCB布线

1、坚持手动布线&#xff0c;慎用自动布线2、了解制造商的规格3、合适的走线宽度4、迹线之间留出足够的空间5、元器件放置6、保持模拟和数字走线分开7、接地层8、走线和安装孔留有足够的空间9、交替走线方向10、避免电容耦合11、放置散热孔和焊盘12、接地和电源走线13、利用丝印…...

编程快捷键和markdown语法小计

Data Structure FQA文章目录1.idea快捷键汇总2.markdown一些常用语法1.idea快捷键汇总 altenter  快捷生成变量 altInsert可以新建类&#xff0c;文件&#xff0c;get或set方法&#xff0c;此快捷键又名创造一切 编辑区和文件区的跳转。 alt 1  &#xff1a;编辑区跳转至…...

内网vCenter部署教程二,最全的了!

一、组网说明 vCenter组网最佳实践 每台服务器需要6个网口,需要三个分布式交换机,每个交换机分配2个物理网卡做冗余,分别做为管理网络、业务网络、高可用网络使用。另vsan网络和vmotion网络可以复用业务网络或管理网络,vcenter HA需要单独用一个网络。 二、创建管理网络…...

2023-3-2 刷题情况

迷宫 题目描述 这天, 小明在玩迷宫游戏。 迷宫为一个 nn 的网格图, 小明可以在格子中移动, 左上角为 (1,1), 右 下角 (n,n) 为终点。迷宫中除了可以向上下左右四个方向移动一格以外, 还有 m 个双向传送门可以使用, 传送门可以连接两个任意格子。 假如小明处在格子 (x1,y1)(…...

Docker SYS_ADMIN 权限容器逃逸

1.漏洞原理Docker容器不同于虚拟机&#xff0c;它共享宿主机操作系统内核。宿主机和容器之间通过内核命名空间&#xff08;namespaces&#xff09;、内核Capabilities、CGroups&#xff08;control groups&#xff09;等技术进行隔离。若启动docker容器时给主机一个--cap-addSY…...

【Kotlin】 yyyy-MM-dd HH:mm:ss 时间格式 时间戳 全面解读超详细

时间格式 时间格式(协议)描述gg时期或纪元。y不包含纪元的年份。不具有前导零。yy不包含纪元的年份。具有前导零。yyyy包含纪元的四位数的年份。M月份数字。一位数的月份没有前导零。MM月份数字。一位数的月份有一个前导零。MMM月份的缩写名称&#xff0c;在AbbreviatedMonthN…...

git repack多包使用及相关性能测试

1、git数据结构 git 中存在四种数据结构&#xff0c;即object包含四种&#xff0c;分别是tree对象、blob对象、commit对象、tag对象 1.1 blob对象 存储文件内容&#xff0c;内容是二进制的形式&#xff0c;通过SHA-1算法对文件内容和头信息进行计算得到key(文件名)。 如果一…...

QT获取dll库文件详细信息

一、需求背景获取软件下依赖的dll库的版本信息&#xff0c;如下图所示版本为1.0.7.1018二、实现方法2.1步骤windows下实现&#xff0c;基于version.lib(version.dll)提供的函数获取这些信息首先使用GetFileVersionInfoSizeA(W)获取VersionInfo的大小&#xff0c;申请缓冲区&…...

常见的电脑运行卡顿原因及解决方法

大家在日常使用电脑过程中&#xff0c;会发现多开几个文件就卡顿&#xff0c;其实很多时候都跟C盘长期不清理有关&#xff0c;C盘的内存被下载的软件安装包、页面文件、休眠文件、更新文件等一系列的文件占据。大的文件甚至能占到20-30G&#xff0c;驱动人生就为大家带来几种解…...

案例08-让软件的使用者成为软件的设计者

一&#xff1a;背景介绍 对于需求的开发每天可能都会有上线的情况&#xff0c;为了防止每次上线拉取代码或者修改配置而引发的冲突以及发生了冲突应该找谁一起确定一下代码留下那一部分的情况。所以在开发的群中会有一个表格来记录每个需求上线修改的环境、是否修改数据库、是否…...

QinQ与Vlan Mapping讲解

目录 QinQ Vlan扩展 QinQ实现方式 QinQ实验配置 Vlan Mapping Vlan映射 映射方式 配置命令 QinQ Vlan扩展 QinQ全称为802.1Q-in-802.1Q&#xff0c;为Vlan扩展技术&#xff0c;在802.1Q标签报文的基础上再增加一层802.1Q标签&#xff0c;实现扩展Vlan空间&#xff1b;可…...

golang 获取token方法

package main import ( "fmt" "time" "github.com/dgrijalva/jwt-go" ) const ( SECRETKEY "202203021124355xxx" //私钥 ) // 自定义 Claims type CustomClaims struct { UserId int64 jwt.StandardClaims } func main() { //生…...

【数据库专题】数据库Mongodb之深入认知云计算三种服务方式、mongodb特点、mongodb重要进程 mongod、mongo、其他进程区别

文章目录一、什么是云计算1. IaaS:基础设施即服务2. SaaS:软件即服务3. PaaS:平台即服务二、大数据与云计算关系三、什么是MongoDB四、大数据与MongoDB五、MongoDB特点六、安装MongoDB七、重要进程介绍7.1 mongod进程7.2 mongo进程7.3 其他进程7.3.1 mongodump重建数据库7.3.2 …...

ccc-pytorch-小实验合集(4)

文章目录一、 Himmelblau 优化二、多分类实战-Mnist三、Sequential与CPU加速-Mnist四、visidom可视化一、 Himmelblau 优化 Himmelblau 是一个具有4个最优值的2维目标函数。其函数和最优值点如下&#xff1a; 图象绘制&#xff1a; import numpy as np from matplotlib impo…...

webrtc音频系列——4、RTP与RTCP协议

如果让你从0开发一套实时互动直播系统&#xff0c;你首先要选择网络传输协议。UDP 还是 TCP&#xff1f;答案是&#xff1a;UDP。为什么实时传输不能用 TCP &#xff1f;TCP 的目的就是实现数据的可靠传输&#xff0c;因此他有一套 握手&#xff0c;发送 -> 确认&#xff0c…...

C++枚举解读(enum)

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录前言一、枚举是什么&#xff1f;二、使用步骤1.作用域2.隐式类型转换3.显式指定枚举值类型4.指定枚举值的值4.整形显式转换成枚举总结前言 对于开发C来说&#xff0…...

南宁网站建设公司排名/网站搜索引擎优化技术

定义&#xff1a;建表时在各字段类型后设置&#xff0c;用来对用户操作表的数据进行约束。 代码&#xff1a; 1.默认值 &#xff1a; default 作用&#xff1a;当用户对使用默认值的字段不插入值的时候&#xff0c;就使用默认值&#xff08;自动填充&#xff09;。 注意…...

建材做网销哪个网站好/常用的seo工具

事先声明几点&#xff1a; 1. 使用 VS2017&#xff0c; 以前的版本大多老旧&#xff0c; 不想折腾就直接上 VS2017吧; 2. VS2017 在安装时必须选择 .net core 相关组件&#xff0c; 否则也没办法; 3. 以前的那个 System.Data.SQLite 没法在 .net core 下用了。 言归正传&#x…...

武汉p2p网站建设/cnzz

ASP.NET MVC由以下两个核心组成部分构成&#xff1a; 一个名为UrlRoutingModule的自定义HttpModule&#xff0c;用来解析Controller与Action名称&#xff1b;一个名为MvcHandler的自定义HttpHandler&#xff0c;用来实现对Controller的激活和Action的执行&#xff1b;&#xff…...

沙井做网站/发外链比较好的平台

一.命令行模式安装图形界面 检查已安装的组   yum grouplist 或者 yum grouplist | more 分页查看安装Gnone   yum groupinstall "GNOME Desktop" 语言设置 localectl status #查看当前语言 locale #查看当前域 localectl list-locales|grep CN #查看当前可用汉…...

seo网站程序/百度百科官网首页

Unable to resolve target android-7 Unable to resolve target android-7 解决方案&#xff1a; 修改工程目录下的default.properties文件里的内容targetandroid-7改成targetandroid-8(或者其他版本)就可以了&#xff0c;最好用txt打开&#xff0c;然后修改之后保存&#xff0…...

怎么做游戏测评视频网站/培训网站搭建

纵览,国内比较大的软件公司(以下统一简称"国软"),清一色都是做政府项目的(他们能做大的原因我就不用说了吧),真正能做大的国软又有几家呢?这是为什么呢?今天风吹就给大家简单分析下: 1."作坊"式管理 "作坊"往往是效率最高的,国软几乎都是从作…...