首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述

  • 23-09-22 18:41
  • 3040
  • 9159
blog.csdn.net

一、概述
序列是Python中最基本的数据结构,C语言中没有这样的数据类型,只有数组有点类似,但序列跟数组差异比较大。
序列的典型特征如下:

  1. 序列使用索引来获取元素,这种索引方式适用于所有序列;
  2. 序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推;
  3. 序列的访问也可以从最后一个元素开始,它的序号是-1,倒数第二个是-2,依此类推。

Python内置了多种序列,最常用的是三种:字符串、列表和元组。列表和元组很类似,的主要不同在于表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用于出于某种考虑需要禁止修改序列的情形。禁止修改序列通常出于技术方面的考虑,与Python的内部工作原理相关,这也是有些内置函数返回元组的原因所在。在你自己编写程序时,几乎在所有情况下都可使用列表来代替元组。一种例外情况是将元组用作字典键,在这种情况下,不能使用列表来代替元组,因为字典键是不允许修改的。

二、序列的操作方法
有几种操作适用于所有序列,包括索引、切片、相加、相乘和成员资格检查。另外,Python还提供了一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素。
1、 索引:序列中额每个元素都可以通过索引来访问,使用方法就是:
序列[索引],这里序列包括字符串常值、变量和函数返回值。
如:
‘Hello’[0]的值为’H’,‘Hello’[-1]的值为’o’
如s=’Hello’,s[0]、s[-1]这些访问方式都是可以的
c=input(‘Input your name:’)[0] #取得输入名字的首字符
2、 切片(slicing):就是从序列中连续的切一个片段出来进行访问,也就是访问特定范围内的元素。为此,可使用两个索引,并用冒号分隔。两个索引来指定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。切片有如下使用方法(举例中s=’Hello’):
1)如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就为空序列。注意这里是指元素后面是指元素在序列中的位置的后面,并不一定是后一个索引值小于前一个的索引值。如s[3:2]为空字符串’’,s[1:3]为字符串’el’,s[1:-1]= ‘ell’;
2)如果切片始于序列开头,可省略第一个索引。如果切片结束于序列末尾,可省略第二个索引。如s[:2]=’He’,s[1:]=’ello’
3)执行切片操作时,还可以指定另一个参数:步长,步长和两个索引之间用冒号分隔。在普通切片中,步长为1。如果指定的步长大于1,将跳过一些元素。例如,步长为2时,将从起点和终点之间每隔一个元素提取一个元素。步长可以为负数,即从右向左提取元素. 当省略起始和结束索引时,步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点。如s[::2]为’Hlo’,s[::-1]为’olleH’;
4)使用切片赋值还可在不替换原有元素的情况下插入新元素,方法就是在要插入的索引位置n指定该切片起始都为n的切片等于要插入的新序列。由于字符串、元组都是不可修改的,因此相关例子到列表介绍时来说明。
3、 拼接:可使用加法运算符来拼接相同类型的序列,一般而言,不能拼接不同类型的序列,如不能拼接列表和字符串,虽然它们都是序列。如s2=s+’,world!’,s2的值就是’Hello,world!’;
4、 相乘:将序列与数x相乘时,将重复这个序列x次来创建一个新序列。如s1=s2*2,则s1的值是’ Hello,world!Hello,world!’
5、 函数len、min和max,len返回序列包含的元素个数,而min和max分别返回序列中最小和最大的元素。如len(s)值为5,min(s)的值为’H’,max(s)的值为’o’
6、 index方法:方法index在列表中查找指定值第一次出现的索引,如s.index(‘l’)返回2。

本节介绍了序列的基本概念,并以字符串为例简单说明了序列的特点和操作方法。由于字符串是不能修改的序列,因此部分序列的操作方法无法在此介绍,后续在进行列表的相关内容介绍时再补充相关内容。

文章知识点与官方知识档案匹配,可进一步学习相关知识
Python入门技能树首页概览333596 人正在系统学习中
老猿Python
微信公众号
专注Python相关语言、图像音视频处理、AI
注:本文转载自blog.csdn.net的LaoYuanPython的文章"https://blog.csdn.net/LaoYuanPython/article/details/89263150"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top