IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 10天学会Python系列-Day3 数据结构之序列:字符串、列表与元组 -> 正文阅读

[人工智能]10天学会Python系列-Day3 数据结构之序列:字符串、列表与元组

作者:recommend-item-box type_blog clearfix

1. 序列

所谓序列,指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。

python中的序列有字符串、列表和元组类型,它们具有以下共同的特征:

  • 都可以通过索引去获取一个元素
  • 都可以通过切片获取多个元素
  • 都是可迭代对象,都可以遍历
  • 都有共同的内置函数
  • 都有共同的运算符

2. 序列的索引

序列中,每个元素都有属于自己的编号(索引)。从起始元素开始,索引值从 0 开始递增,如图 1 所示。
字符串x = "python"的索引展示

‘p’‘y’‘t’‘h’‘o’‘n’
正索引012345
负索引-6-5-4-3-2-1

索引根据访问的方向可分为正索引和负索引,正索引从0开始,负索引从-1开始。

3. 序列的切片

切片操作是访问序列中元素的另一种方法,相对于通过索引访问单个元素,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。

切片的语法:

sequence[start : end : step]

其中,各个参数的含义分别是:
sequence:表示序列的名称;
start:表示切片的开始索引位置(闭区间,包括该位置),此参数也可以不指定,会默认为 0,也就是从序列的开头进行切片;
end:表示切片的结束索引位置(开区间,不包括该位置),如果不指定,则默认为序列的长度;
step:表示在切片过程中,隔几个存储位置(包含当前位置)取一次元素,也就是说,如果 step 的值大于 1,则在进行切片去序列元素时,会“跳跃式”的取元素。如果省略设置 step 的值,则最后一个冒号就可以省略。

举例:

# 字符串
x1 = "python"
x1_1 = x1[2:]              # 从索引2开始取数据,直至结束
print(x1_1, type(x1_1)) 

# 列表
x2 = [1, 4, 6, 3, 2, 1, 3, 3]
x2_1 = x2[1:6:1]           # 从索引1开始取数据,步长为1
x2_2 = x2[1:6:2]           # 从索引1开始取数据,步长为2,也就是跳1个索引再取
print(x2_1, type(x2_1))
print(x2_2, type(x2_2)) 

# 元组
x3 = (1, 4, 6, 3, 2, 1, 3, 3)
x3_1 = x3[1:6:1]           # 从索引1开始取数据,步长为1
x3_2 = x3[1:6:2]           # 从索引1开始取数据,步长为2,也就是跳1个索引再取
print(x3_1, type(x3_1))
print(x3_2, type(x3_2)) 

在这里插入图片描述
负索引举例:

# 字符串
x1 = "python"
x1_1 = x1[-4:]              # 从索引2开始取数据,直至结束
print(x1_1, type(x1_1)) 

# 列表
x2 = [1, 4, 6, 3, 2, 1, 3, 3]
x2_1 = x2[1:-2:1]           # 从索引1开始取数据,步长为1
x2_2 = x2[1:-2:2]           # 从索引1开始取数据,步长为2,也就是跳1个索引再取
print(x2_1, type(x2_1))
print(x2_2, type(x2_2)) 

# 元组
x3 = (1, 4, 6, 3, 2, 1, 3, 3)
x3_1 = x3[1:-2:1]           # 从索引1开始取数据,步长为1
x3_2 = x3[1:-2:2]           # 从索引1开始取数据,步长为2,也就是跳1个索引再取
print(x3_1, type(x3_1))
print(x3_2, type(x3_2)) 

在这里插入图片描述特殊用法:

  • 序列取反
[::-1] 			# 步长可以带符号,为正时表示从前往后,为负时表示从后往前

举例:

x1 = [1, 2, 3, 4]
x2 = x1[::-1]
x2

在这里插入图片描述

4. 序列的可迭代性

序列是可迭代的,支持for循环遍历

s = "123456"
l = [1, 2, 3, 4, 5, 6]
t = (1, 2, 3, 4, 5, 6)

for x in s:         # 字符串的遍历
    print(x, end=',')
print()

for x in l:         # 列表的遍历
    print(x, end=',')
print()

for x in t:         # 元组的遍历
    print(x, end=',')
print()

在这里插入图片描述

5. 序列的内置函数

在这里插入图片描述

s = "123456"
l = [1, 2, 3, 4, 5, 6]
t = (1, 2, 3, 4, 5, 6)

print(len(s), len(l), len(t))

在这里插入图片描述

l = [1, 2, 3, 4, 5, 6]
for x in l:
    print(x, end=',')
print()

for x in enumerate(l):
    print(x, end=',')

在这里插入图片描述

6. 序列的运算符

  • in:元素是否存在于序列中
  • not in:元素是否不存在于序列中
  • 序列加法
  • 序列乘法
l = [1, 2, 3, 4, 5, 6]

5 in l	# 判断5是否存在于列表l中

在这里插入图片描述

s = "123456"
l = [1, 2, 3, 4, 5, 6]
t = (1, 2, 3, 4, 5, 6)

print(s*3, l*3, t*3)

在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:41:49  更:2022-04-26 11:44:31 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 9:45:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码