超详解——Python 序列详解——基础篇
目录
1. 序列的概念
字符串(String)
列表(List)
元组(Tuple)
2. 标准类型操作符
连接操作符(+)
重复操作符(*)
索引操作符([])
切片操作符([:])
成员操作符(in 和 not in)
3. 序列的切片操作
基本切片
省略索引
切片对象
4. 序列内建函数
len() 函数
max() 函数
min() 函数
sum() 函数
sorted() 函数
reversed() 函数
enumerate() 函数
1. 序列的概念
序列是一种数据结构,它存储了一组有序的元素。这些元素可以是任何类型的对象,甚至是其他序列。在Python中,最常用的序列类型包括:
- 字符串(String):由字符组成的序列,用于表示文本。
- 列表(List):由任意类型的对象组成的可变序列。
- 元组(Tuple):由任意类型的对象组成的不可变序列。
每个序列中的元素都有一个唯一的索引,可以通过索引访问特定的元素。序列的索引从0开始,正向索引从左到右依次增加,反向索引从右到左依次减少。
字符串(String)
字符串是字符的有序集合,用于表示文本信息。字符串使用单引号('
)、双引号("
)或三引号('''
或 """
)包围。字符串是不可变的,即创建后不能更改。
示例:
s = "Hello, World!"
列表(List)
列表是Python中最常用的数据结构之一,可以存储任意类型的元素。列表是可变的,可以在创建后修改其内容。列表使用方括号([]
)包围,元素之间用逗号分隔。
示例:
lst = [1, 2, 3, "Python", [5, 6]]
元组(Tuple)
元组与列表类似,但元组是不可变的,即一旦创建就不能修改其内容。元组使用圆括号(()
)包围,元素之间用逗号分隔。
示例:
tup = (1, 2, 3, "Python", (5, 6))
2. 标准类型操作符
Python提供了一些标准操作符,可以用于操作序列。这些操作符包括连接、重复、索引、切片和成员资格测试。
连接操作符(+)
连接操作符用于将两个序列连接成一个新的序列。
示例:
s1 = "Hello, "
s2 = "World!"
s3 = s1 + s2 # "Hello, World!"lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst3 = lst1 + lst2 # [1, 2, 3, 4, 5, 6]tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup3 = tup1 + tup2 # (1, 2, 3, 4, 5, 6)
重复操作符(*)
重复操作符用于将序列重复指定的次数,生成一个新的序列。
示例:
s = "Hello"
s_repeated = s * 3 # "HelloHelloHello"lst = [1, 2, 3]
lst_repeated = lst * 2 # [1, 2, 3, 1, 2, 3]tup = (1, 2, 3)
tup_repeated = tup * 2 # (1, 2, 3, 1, 2, 3)
索引操作符([])
索引操作符用于访问序列中的单个元素。正向索引从0开始,反向索引从-1开始。
示例:
s = "Python"
print(s[0]) # "P"
print(s[-1]) # "n"lst = [1, 2, 3, 4, 5]
print(lst[2]) # 3
print(lst[-2]) # 4tup = (1, 2, 3, 4, 5)
print(tup[1]) # 2
print(tup[-3]) # 3
切片操作符([:])
切片操作符用于访问序列中的一部分元素,生成一个新的序列。切片的语法为 序列[开始:结束:步长]
。
示例:
s = "Hello, World!"
print(s[0:5]) # "Hello"
print(s[7:12]) # "World"
print(s[::-1]) # "!dlroW ,olleH" (反转字符串)lst = [1, 2, 3, 4, 5, 6]
print(lst[1:4]) # [2, 3, 4]
print(lst[:3]) # [1, 2, 3]
print(lst[::2]) # [1, 3, 5]tup = (1, 2, 3, 4, 5, 6)
print(tup[2:5]) # (3, 4, 5)
print(tup[::3]) # (1, 4)
成员操作符(in 和 not in)
成员操作符用于检查元素是否存在于序列中。
示例:
s = "Hello, World!"
print("H" in s) # True
print("h" not in s) # Truelst = [1, 2, 3, 4, 5]
print(3 in lst) # True
print(6 not in lst) # Truetup = (1, 2, 3, 4, 5)
print(2 in tup) # True
print(7 not in tup) # True
3. 序列的切片操作
切片是从序列中提取子序列的操作。切片操作返回一个新的序列,不修改原序列。切片操作的语法为 序列[开始:结束:步长]
。其中,开始
和结束
为索引位置,步长
表示元素间的间隔,默认为1。
基本切片
最简单的切片操作只包含开始和结束索引。
示例:
s = "Hello, World!"
print(s[0:5]) # "Hello"
print(s[7:12]) # "World"
在上述示例中,s[::2]
每隔一个字符提取一次,而 s[::-1]
以步长-1反向提取字符,实现字符串的反转。
省略索引
当省略开始或结束索引时,Python会使用默认值。省略开始索引表示从序列的起始位置开始,省略结束索引表示到序列的末尾。
示例:
s = "Hello, World!"
print(s[:5]) # "Hello"
print(s[7:]) # "World!"
print(s[:]) # "Hello, World!" (整个字符串)
在上述示例中,s[:5]
提取从起始位置到索引4的字符,s[7:]
提取从索引7到末尾的字符。
切片对象
切片对象是通过 slice()
函数创建的,用于表示切片操作。切片对象可以用于在任何支持切片的对象中应用相同的切片。
示例:
s = "Hello, World!"
slice_obj = slice(0, 5)
print(s[slice_obj]) # "Hello"lst = [1, 2, 3, 4, 5]
print(lst[slice_obj]) # [1, 2, 3, 4, 5]
在上述示例中,slice_obj
表示从索引0到索引4的切片。这个切片对象可以应用于字符串和列表,结果分别为 "Hello" 和 [1, 2, 3, 4, 5]
。
4. 序列内建函数
Python提供了一些内建函数,用于操作和处理序列。这些函数包括:
len()
:返回序列的长度。max()
:返回序列中的最大值。min()
:返回序列中的最小值。sum()
:返回序列中所有元素的和(适用于数字序列)。sorted()
:返回序列的排序副本。reversed()
:返回序列的反转迭代器。enumerate()
:返回序列中的元素和索引。
len()
函数
len()
函数用于返回序列的长度,即序列中元素的个数。
示例:
s = "Hello, World!"
print(len(s)) # 13lst = [1, 2, 3, 4, 5]
print(len(lst)) # 5tup = (1, 2, 3, 4, 5)
print(len(tup)) # 5
在上述示例中,len()
函数分别返回字符串、列表和元组的长度。
max()
函数
max()
函数用于返回序列中的最大值。对于字符串,max()
函数返回字典序中最大的字符。
示例:
s = "Hello, World!"
print(max(s)) # "r"lst = [1, 2, 3, 4, 5]
print(max(lst)) # 5tup = (1, 2, 3, 4, 5)
print(max(tup)) # 5
在上述示例中,max()
函数分别返回字符串、列表和元组中的最大值。
min()
函数
min()
函数用于返回序列中的最小值。对于字符串,min()
函数返回字典序中最小的字符。
示例:
s = "Hello, World!"
print(min(s)) # " "lst = [1, 2, 3, 4, 5]
print(min(lst)) # 1tup = (1, 2, 3, 4, 5)
print(min(tup)) # 1
在上述示例中,min()
函数分别返回字符串、列表和元组中的最小值。
sum()
函数
sum()
函数用于返回数字序列中所有元素的和。对于非数字序列,sum()
函数会抛出错误。
示例:
lst = [1, 2, 3, 4, 5]
print(sum(lst)) # 15tup = (1, 2, 3, 4, 5)
print(sum(tup)) # 15
在上述示例中,sum()
函数分别返回列表和元组中所有元素的和。
sorted()
函数
sorted()
函数返回序列的排序副本。对于字符串,sorted()
函数返回字符按字典序排序的新列表。
示例:
s = "Hello, World!"
print(sorted(s)) # [' ', '!', ',', 'H', 'W', 'd', 'e', 'l', 'l', 'l', 'o', 'o', 'r']lst = [5, 3, 1, 4, 2]
print(sorted(lst)) # [1, 2, 3, 4, 5]tup = (5, 3, 1, 4, 2)
print(sorted(tup)) # [1, 2, 3, 4, 5]
在上述示例中,sorted()
函数分别返回字符串、列表和元组的排序副本。
reversed()
函数
reversed()
函数返回序列的反转迭代器。
示例:
s = "Hello, World!"
print(''.join(reversed(s))) # "!dlroW ,olleH"lst = [1, 2, 3, 4, 5]
print(list(reversed(lst))) # [5, 4, 3, 2, 1]tup = (1, 2, 3, 4, 5)
print(list(reversed(tup))) # [5, 4, 3, 2, 1]
在上述示例中,reversed()
函数分别返回字符串、列表和元组的反转迭代器,并通过 list()
或 join()
方法将其转换为列表或字符串。
enumerate()
函数
enumerate()
函数返回序列中的元素和索引。
示例:
s = "Hello"
for index, char in enumerate(s):print(f"{index}: {char}")lst = ["a", "b", "c", "d"]
for index, value in enumerate(lst):print(f"{index}: {value}")
在上述示例中,enumerate()
函数分别返回字符串和列表中的元素和索引。
相关文章:
超详解——Python 序列详解——基础篇
目录 1. 序列的概念 字符串(String) 列表(List) 元组(Tuple) 2. 标准类型操作符 连接操作符() 重复操作符(*) 索引操作符([]) …...
DVWA-DC-6
靶机IP:192.168.20.140 kaliIP:192.168.20.128 网络有问题的可以看下搭建Vulnhub靶机网络问题(获取不到IP) 信息收集 nmap扫描靶机端口及版本信息 dirsearch扫目录 发现是个wordpress建站 我们去访问前端界面 存在重定向,修改hosts文件,加入192.168…...
ubuntu早期版本以及18.04后的版本,通过rc.local配置开机自启
在ubuntu早期版本以及18.04后的版本,还是支持在rc.local中进行操作开机自启。 1、编辑rc.local文件 cat <<EOF >/etc/rc.local #!/bin/sh -e # rc.local # This script is executed at the end of each multiuser runlevel. # Make sure that the script…...
【环境搭建】1.阿里云ECS服务器 安装jdk8
在阿里云服务器上安装 JDK 8 可以通过以下步骤完成。假设你使用的是 CentOS 或者其他基于 Red Hat 的发行版或Alibaba Cloud Linux 3.2104 LTS 64位。 1.更新系统软件包 sudo yum update -y2.安装 OpenJDK 8 使用 yum 包管理器安装 OpenJDK 8 sudo yum install -y java-1.8…...
idea插件开发之定义侧边栏
写在前面 看下如何在侧边栏定义窗口,如下的效果: 1:正戏 先来定义UI,随便拖拽个组件,就看个效果: 接着定义一个工厂类来创建这个UI,需要实现接口com.intellij.openapi.wm.ToolWindowFactor…...
HarmonyOS未来五年的市场展望
一、引言 随着科技的不断进步和消费者对于智能化设备需求的日益增长,操作系统作为连接硬件与软件的核心平台,其重要性愈发凸显。HarmonyOS(鸿蒙系统),作为华为自主研发的分布式操作系统,自诞生以来便备受瞩…...
R语言:什么是向量化操作(Vectorization)?
在R语言中,向量化操作是一个非常重要且强大的概念。它不仅提高了代码的简洁性和可读性,还大大提升了代码的执行效率。本文将详细介绍什么是向量化操作,并通过几个示例来展示其应用。 什么是向量化操作? 向量化操作是指在不使用显…...
Python 机器学习 基础 之 【实战案例】中药数据分析项目实战
Python 机器学习 基础 之 【实战案例】中药数据分析项目实战 目录 Python 机器学习 基础 之 【实战案例】中药数据分析项目实战 一、简单介绍 二、中药数据分析项目实战 三、数据处理与分析实战 1、数据读取 2、中药材数据集的数据处理与分析 2.1数据清洗 2.2、 提取别…...
python中报错“ModuleNotFoundError: No module named ‘docx2txt‘”
python中from langchain_community.document_loaders import Docx2txtLoader报错“ModuleNotFoundError: No module named ‘docx2txt’” 问题描述: python中from langchain_community.document_loaders import Docx2txtLoader报错“ModuleNotFoundError: No module named ‘…...
json.dumps参数
json.dumps()是 Python 中json 模块的一个函数,用于将 Python 对象编码成 JSON格式的字符串。这个函数有几个常用的参数,下面是一些主要的参数及其描述: 1. **obj**: 必需。要转换的 Python 对象。 2. *…...
未来已来,划时代革命性产品——全息数字人管家系统,全网首发
尊敬的投资人、亲爱的网友们: 大家好,我是数字人管家项目总设计师,我叫William wang。在这个科技日新月异的时代,我们正站在一个前所未有的交汇点上,数字与现实的边界日益模糊,智能技术正以前所未有的方式…...
psql导入数据报错排查
问题:采用pg_dump导出表数据后,用psql导入表数据,导入时报错 无效的命令 \N定位该问题的方法 --进入psql \set ON_ERROR_STOP on --退出psqlpsql -U postgres -d test -v ON_ERROR_STOPon < /home/postgres/test.dmp参考文章:…...
项目:双人五子棋对战-对战模块(6)
完整代码见: 邹锦辉个人所有代码: 测试仓库 - Gitee.com 当玩家进入到游戏房间后, 就要开始一局紧张而又刺激的五子棋对战了, 本文将就前端后端的落子与判断胜负的部分作详细讲解. 模块详细讲解 约定前后端交互的接口 首先是建立连接后, 服务器需要生成一些游戏的初始信息(可…...
LeakSearch:针对网络公开凭证的安全扫描与检测工具
关于LeakSearch 在红队演戏过程中,往往需要获取到针对目标域的访问权限。在这个过程中,很多红队人员会选择使用暴露在互联网上的代理服务器来实现目标域的访问,那么此时就需要在互联网上收集公开暴露的凭证信息。 对于蓝队来说,…...
ArcoDesgin a-model中自定义样式model-class无效
增加黄框代码解决 原因是,动态加载的组件默认渲染在body下面,与#app平级。样式设置无效 加上:render-to-body“false”,让组件不渲染到body下,渲染在app下面,样式设置生效...
持续总结中!2024年面试必问 20 道分布式、微服务面试题(十)
上一篇地址:持续总结中!2024年面试必问 20 道分布式、微服务面试题(九)-CSDN博客 十九、请描述一种微服务部署策略。 微服务部署策略是确保微服务架构中各个独立服务能够高效、稳定地部署到生产环境中的方法。以下是一些常见的微…...
北航第四次数据结构与程序设计编程题复习
到期末了,所以再来复习一下以前的作业。 北航第四次数据结构与程序设计编程题 一、栈操作(栈-基本题)二、C程序括号匹配检查三、计算器(表达式计算-后缀表达式实现,结果为浮点)四、文本编辑操作模拟&#…...
golang调用外部程序包os/exec中的 Command和CommandContext 函数创建的Cmd对象的区别
在go语言中,我们可以通过os/exec包中的Command和CommandContext 函数创建对应的外部程序执行Cmd对象, 这2个函数创建的cmd命令执行对象是有区别的,CommandContext创建的对象可以携带上下文,这个主要用于我们通过cancel函数给对应的…...
Redis进阶知识个人汇总
持久化 三种方式实现它的持久化: RDB持久化 全称Redis数据备份文件,又称Redis数据快照 这种就是将Redis内存中所有数据记录到磁盘中,当实例出故障后,从磁盘中读快照文件进行恢复数据。 一般使用bgsave指令实现 复制主线程得到一…...
从中序与后序遍历序列构造二叉树-力扣
中序遍历序列存放节点的顺序是左中右,后序遍历存放节点的顺序是左右中后序遍历序列的最后一个节点即为二叉树的根节点由于每个值在二叉树中都是唯一的,那么根据根节点的值,就可以将中序遍历序列一分为二,前部分存储的是根节点左子…...
操作系统期末复习(大题)
1. 进程调度 周转时间作业完成时刻-作业到达时刻 带权周转时间周转时间/服务时间 平均周转时间各个作业周转时间之和/作业个数 操作系统:周转时间和其他时间_系统为作业提供的时间-CSDN博客 2. 进程调度 3. 调度算法 4. 临界区互斥访问问题 即证明是否满足互斥&a…...
解决富文本中抖音视频无法播放的问题——403
问题 富文本中的抖音视频无法播放,资源状态码是403禁止访问打开控制台,可以看到在项目中打开,数据请求的请求头多了一个Referer: http://localhost:3000/而复制链接在新窗口直接打开,请求头中并不会携带Referer 解决方案 在ind…...
2024最新华为OD机试(C卷+D卷)真题目录+使用说明+在线评测
文章目录 📒声明🎚专栏介绍📖试读文章🎀关于华为OD 🧷真题目录2024最新 C卷 & D卷 目录(实时跟新中~)2024最新 C卷 & D卷 100分题目 (实时跟新中~)2024最新 C卷 & D卷 200分题目 (实时跟新中~) Ǵ…...
hana 中的缓存视图功能,类似ORACLE 中的 物化视图功能
为什么启用物化视图、缓存视图这里就不过多解释了。 参考官方文章: Static Result Cache | SAP Help Portal 在 HANA中,视图的缓存分 静态结果缓存 和 动态结果缓存。 静态结果缓存和动态结果缓存是缓存查询结果以获得性能优势的可配置应用程序。 缓…...
express入门02静态资源托管
目录 1 搭建静态资源结构2 代码助手3 多目录托管4 服务器热启动总结 上一篇我们讲解了使用express搭建服务器的过程,服务器搭建好了之后,除了在地址栏里输入URL发起get请求或者post请求外,通常我们还需要访问静态资源,比如html、c…...
Java常见的引用类型
1、强引用:普通的变量引用,Student sutnew Student(); 2、软引用:堆内对象若未被引用,GC不会立刻删除,而是在堆内存空间不足时才会进行删除。 3、弱引用:GC触发,会立刻删除。 4、虚引用&am…...
使用易备数据备份软件,简单快速地备份 Oracle 数据库
易备数据备份软件能够以简单高效的方式,实现对 Oracle 数据库的保护。 易备数据备份软件数据库备份功能的关键特性 自动保护网站数据库及应用程序实时备份,不需要任何中断或数据库锁定基于日期和时间的备份任务计划可恢复到一个已存在的数据库或创建一…...
基于SSM+Jsp的交通事故档案管理系统
开发语言:Java框架:ssm技术:JSPJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包…...
深度解析:ChatGPT全面测评——功能、性能与用户体验全景剖析
从去年底至今,由 OpenAI 发布的大规模语言模型 ChatGPT 引发了几乎所有科技领域从业者的高度关注。据瑞银集团的报告显示,自 2023 年 1 月起,仅两个月内,ChatGPT 的月活用户数便超过了 1 亿。 ChatGPT 被誉为“最强 AI”ÿ…...
领夹麦克风哪个品牌好?哪个麦克风好?揭秘无线麦克风十大排名!
无线领夹麦克风因其便携性和高音质而备受青睐。今天,我要为大家推荐几款备受赞誉的无线领夹麦克风,它们不仅在音质上表现出色,更在设计和性能上各有千秋。这些麦克风不仅适合专业录音师使用,也适合普通用户在日常生活中的各种场…...
无锡网站建设维护/湖南网络推广排名
最近开发了一个数据解析程序,需要显示10W的设备数据,采用了DataGridView 虚拟模式,效率非常高,但是使用中也遇到了一个奇葩的问题,微软MSN上面好像没有说到这个情况,比如我有10多列,界面默认只能…...
石家庄网站建设布局/seo职业发展
只会一些python就能理解的pytorch入门 PyTorch提供设计精美的模块和类 torch.nn、 torch.optim , Dataset 和DataLoader 来帮助您创建和训练神经网络。 为了充分利用他们的力量并针对您的问题定制他们,您需要真正了解他们在做什么。 为了加深这一理解,我…...
网站所有权/百度域名注册官网
font-size属性想必大家并不陌生吧,此属性控制字体的大小,下面将为大家介绍下如何使用jquery获取font-size属性值,感兴趣的朋友可以参考下。对页面上的字体增大、缩小、恢复原始大小 需要在html页面中定义三个元素 ,元素的class分别…...
张家口建设委员会网站/舆情报告
1.打开网站http://125.74.125.69:8091/, 2.输入用户名,密码 3.选择页面上右上角的菜单 4.点击人口库 5.选择人口信息, 6.根据图中提示 7.跟据图中提示完成下表 转载于:https://www.cnblogs.com/Happy-Eric-1/p/10396847.html...
淄博网站建设设计/小程序开发公司十大排名
编者按:原文作者乔纳森丹尼可(Jonathan Danylko)是一位自由职业的web架构师和程序员,编程经验已超过20年,涉足领域有电子商务、生物技术、房地产、医疗、保险和公用事业。正如乔纳森在文中所言,本文适合刚毕…...
wordpress建m域名网站/seo优化网页
2.1、关键字与保留字 2.1.1、关键字(keyword)的定义和特点 定义:被Java语言赋予了特殊含义,用作专门用途的字符串(单词)特点:关键字种所有字母都是小写官方地址 2.1.2、保留字(…...