什么是序列?

列表、元组和字符串都是序列。为了让我们方便的在序列中抓取一个特定的项目,具备这样的特点:

1、成员检验

2、索引操作符

一些基本操作:

OperationResultNotes

x in s

True if an item of s is equal to x, else False

x not in s

False if an item of s is equal to x, else True

s + t

the concatenation of s and t

s * n, n * s

equivalent to adding s to itself n times

s[i]

ith item of s, origin 0

s[i:j]

slice of s from i to j

s[i:j:k]

slice of s from i to j with step k

len(s)

length of s

min(s)

smallest item of s

max(s)

largest item of s

s.index(x)

index of the first occurrence of x in s

s.count(x)

total number of occurrences of x in s

下标操作:

使用索引来取得序列中的单个项目

shoplist = ['apple', 'mango', 'carrot', 'banana']

name= 'Piayie'print('Item 0 is', shoplist[0])

print('Item 1 is', shoplist[1])

print('Item 2 is', shoplist[2])

print('Item 3 is', shoplist[3])

print('Item -1 is', shoplist[-1])

print('Item -2 is', shoplist[-2])

print('Character 0 is', name[0])

输出:

Item 0 isapple

Item1 ismango

Item2 iscarrot

Item3 isbanana

Item-1 isbanana

Item-2 iscarrot

Character0 is P

当用方括号中的一个数来指定一个序列时候,Python会为我们抓取序列对应位置的项目。注意:Python从0开始计数。

当索引标是负数时候,位置是从列尾开始计算的,shoplist[-1]表示最后一个元素。

切片操作

切片操作符是序列名后跟一个方括号,方括号中有一对可选的数字,并用冒号分割。注意这与你使用的索引操作符十分相似。记住数是可选的,而冒号是必须的。

切片操作符中的第一个数表示切片开始的位置,第二个表示切片结束的位置。

如果不指定第一个数,默认从序列首部开始。

如果不指定第二个数,Python会在系列尾部停止。

可以用负数做切片,得到从序列尾[-1]开始计算的位置。

特别的,返回的序列是从指定开始位置起始,在指定结束位置之前终止,也就是说切出的序列不包括尾部项目。

print('Item 1 to 3 is', shoplist[1:3])

print('Item 2 to end is', shoplist[2:])

print('Item 1 to -1 is', shoplist[1:-1])

print('Item start to end is', shoplist[:])

print('characters 1 to 3 is', name[1:3])

print('characters 2 to end is', name[2:])

print('characters 1 to -1 is', name[1:-1])

print('characters start to end is', name[:])

输出:

Item 1 to 3 is ['mango', 'carrot']

Item2 to end is ['carrot', 'banana']

Item1 to -1 is ['mango', 'carrot']

Item start to endis ['apple', 'mango', 'carrot', 'banana']

characters1 to 3 isia

characters2 to end isayie

characters1 to -1 isiayi

characters start to endis Piayie

我们必须使得这个切片是正向的,也就是说起始位置不能落后于结束位置,否则就会引发SyntaxError

print('characters -1 to 2 is', name[1-:2])

输出:

File "d:\PiaYie\VScode\python学习笔记\Subscription.py", line 20print('characters -1 to 2 is', name[1-:2])^SyntaxError: invalid syntax

D:\PiaYie\VScode\python学习笔记>

和大部分的pick方法一样,切片操作符还有第三个参数,我们把它叫做步长。

print('characters -1 to 2 is', name[::2])

输出:

characters begin to end via step = 2 is Pai

特别的,我们应该注意切片操作是一种创建副本的operation

若要在循环内部修改正在遍历的序列(例如复制某些元素),首先应该制作副本。

在序列上循环不会隐式地创建副本。切片表示法使这尤其方便:

>>> words = ['cat', 'window', 'defenestrate']>>> for w in words[:]: #Loop over a slice copy of the entire list.

... if len(w) > 6:

... words.insert(0, w)

...>>>words

['defenestrate', 'cat', 'window', 'defenestrate']

序列拆封

>>> t = 12345, 54321, 'hello!'

>>> x, y, z =t>>>x12345

>>>y54321

>>>z'hello!'

这个调用等号右边可以是任何线性序列,称之为 序列拆封 非常恰当。序列拆封要求左侧的变量数目与序列的元素个数相同。

要注意的是可变参数(multiple assignment)其实只是元组封装和序列拆封的一个结合。

python中的序列是什么_Python中的序列相关推荐

  1. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  2. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  3. python深复制与浅复制_Python中的深拷贝和浅拷贝详解

    要说清楚Python中的深浅拷贝,需要搞清楚下面一系列概念: 变量-引用-对象(可变对象,不可变对象)-切片-拷贝(浅拷贝,深拷贝) [变量-对象-引用] 在Python中一切都是对象,比如说:3, ...

  4. python运行mcmc为何老出错_python中mcmc方法的实现

    MCMC方法在贝叶斯统计中运用很多,MIT发布的EMCEE是实现的比较好的.介绍页面在下面.源代码中examples里的代码可以帮助理解各种功能,特别是line.py 列出了最小二乘法,最大似然法和M ...

  5. python中常用的序列化模块_Python中的序列化和反序列化

    为什么要序列化 内存中的字典.列表.集合以及各种对象,如何保存到一个文件中. 设计一套协议,按照某种规则,把内存中的数据保存到文件中,文件是一个个字节序列.所以必须把数据额转换为字节序列,输出到文件, ...

  6. list可以存放python中任意类型的数据_Python中常见的数据类型小结

    Python提供多种数据类型来存放数据项集合,主要包括序列(列表list和元组tuple),映射(如字典dict),集合(set),下面对这几种一一介绍: 一 序列 1.列表list 列表是一种有序的 ...

  7. python中对字符串进行编码_Python 中的字符串编码

    对Python字符编码一直没搞明白,今天看<Python参考手册>再次遇到这个问题,重新整理下 Python中字符串字面量用于指定一个字符序列,其定义方法是把文本放入单引号('),双引号( ...

  8. python字典是什么的集合_Python中的字典和集合

    文章目录字典1.介绍 2.创建字典 3.字典内元素的访问 4.字典元素的添加.修改.删除 5.关于字典的其它操作 6.字典存储底层原理 集合1.介绍 2.相关操作 3.集合元素的添加 4.移除元素 字 ...

  9. python中的文件怎么处理_python 中有关文件处理

    Python的文件处理 打开文件f = open ("path","mode") r 模式 以读的方式打开,定位到文件开头 , 默认的 mode.文件不存在直接 ...

  10. python 获取用户的一个输入值_Python中,用于获取用户输入的命令为:

    [多选题]以下关于机器学习说法正确的是? [判断题]Python内置函数sum____用来返回数值型序列中所有元素之和. [单选题]关于自定义函数的下列说法不正确的是: [判断题]Python内置函数 ...

最新文章

  1. pandas使用nunique函数计算dataframe每个数据列的独特值的个数(count number of unique values in each column of dataframe)
  2. 在Linux下和Windows下遍历目录的方法及如何达成一致性操作
  3. DevOps团队结构类型汇总:总有一款适合你
  4. 今天晴朗,但是由于晚上睡眠不是很好就头昏眼花
  5. JUC原子类-数组类型(三)
  6. 关于压缩工具 7z(7-zip) 的选项 -so(从标准输出流写入数据)的解读
  7. python中函数包括_python中函数都有哪些简单点的例子零基础
  8. linux startx无法启动
  9. c语言万能源代码,经典C语言源代码
  10. 限时免费领超大15.9GB的PS设计素材
  11. 王小波:资本主义居然用代码行发工资,真虚伪!
  12. svg实现圆环倒计时动画效果
  13. 国际清算银行称:央行数字货币可能导致银行挤兑
  14. LeetCode 216组合总和III 17电话号码的字母组合
  15. STAF学习系列--安装及配置
  16. Android Studio中如何设置颜色拾色器工具
  17. 计算机主机启动不了系统安装,台式机无法开机怎么重装win7系统
  18. 常见的手机锂电池修复的三种方法:
  19. 2023年上半年系统分析师下午真题及答案解析
  20. js常用取整 取余方法

热门文章

  1. 几个去黑头的土方法,试试看! - 生活至上,美容至尚!
  2. 去黑头的方法....
  3. 关于用盐去黑头的亲身经历~ - 健康程序员,至尚生活!
  4. 使用Java计算生辰八字五行属性
  5. freeCodeCamp Slasher Flick
  6. html5水墨效果,用html5可以做出水墨晕开的效果吗
  7. python井字棋_python实现井字棋小游戏
  8. Flutter的菜鸟教程
  9. 微软中国裁员计划曝光:年底前裁完!补偿不变!
  10. 年节约10亿美元 微软宣布裁员