1.列表

向列表中添加元素

  • 一次只能添加一个元素到列表末尾:append()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player.append('落网')
>>> player
['酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐', '落网']
  • 一次添加多个元素到列表末尾:extend([])
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player.extend(['落网','酷我音乐'])
>>> player
['酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐', '落网', '落网', '酷我音乐']
  • 插入元素,可指定元素位置:insert()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player.insert(0,'落网')
>>> player
['落网', '酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐']

从列表中获取元素

>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> temp=player[0]
>>> temp
'酷狗音乐'
>>> player[0]=player[1]
>>> player
['网易云音乐', '网易云音乐', 'QQ音乐', '虾米音乐']
>>> player[1]=temp
>>> player
['网易云音乐', '酷狗音乐', 'QQ音乐', '虾米音乐']

从列表删除元素

  • remove()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player.remove('QQ音乐')
>>> player
['酷狗音乐', '网易云音乐', '虾米音乐']
  • del()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> del player[2]
>>> player
['酷狗音乐', '网易云音乐', '虾米音乐']
>>> del player
>>> player
NameError: name 'player' is not defined
  • pop()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> er=player.pop()
>>> er
'虾米音乐'
>>> player
['酷狗音乐', '网易云音乐', 'QQ音乐']

列表分片[:]

  • 列表分片
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player[1:3]
['网易云音乐', 'QQ音乐']
>>> player
['酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐']
  • 列表拷贝
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> player1=player[:]
>>> player1
['酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐']

列表中常用的操作符

  • 比较运算符
>>> number1=[3,4,2,6]
>>> number2=[3,4,6,6]
>>> number1>number2
False

列表中,从第0个元素开始依次向后比较,只要不相等,不再继续向后比较。

  • 逻辑操作符
>>> number1=[3,4,2,6]
>>> number2=[3,4,6,6]
>>> number3=[3,2,6,4]
>>> (number1<number2)or(number1==number3)
True
  • 连接操作符
>>> number1=[3,4,2,6]
>>> number2=[3,4,6,6]
>>> number1+number2
[3, 4, 2, 6, 3, 4, 6, 6]
  • 重复操作符
>>> number1=[3,4,2,6]
>>> number1*3
[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1  #number1没有改变
[3, 4, 2, 6]
>>> number1*=3
>>> number1  #number1改变
[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
  • 成员关系操作符(in、not in)
>>> number1=[3,4,2,6,[7,8,9]]
>>> 3 in number1
True
>>> 7 not in number1  #由结果可知成员关系操作符不能识别列表中的列表元素
True
>>> number1[4][0]  #想访问列表中的列表元素,类似二维数组
7

列表的BIF

可以在编译器内查看列表有哪些BIF

  • 检测参数在列表中出现的次数:count([parameter])
>>> number1=[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1.count(3)
3
  • 返回参数在列表中的位置:index([parameter],[start],[end])
>>> number1=[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1.index(3,2,6)  #从第2个参数到第六个参数之间的范围内查找参数3的位置
4
  • 将整个列表原地翻转:reverse()
>>> number1=[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1.reverse()
>>> number1
[6, 2, 4, 3, 6, 2, 4, 3, 6, 2, 4, 3]
  • 将列表内元素排序,用func设置排序算法,key表示与算法搭配的关键字:sort(func,key,reverse = Flase)
>>> number1=[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1.sort()  #默认是从小到大排序
>>> number1
[2, 2, 2, 3, 3, 3, 4, 4, 4, 6, 6, 6]
>>>number1=[3, 4, 2, 6, 3, 4, 2, 6, 3, 4, 2, 6]
>>> number1.sort(reverse = True)  #从大到小排序
>>> number1
[6, 6, 6, 4, 4, 4, 3, 3, 3, 2, 2, 2]
>>> number1=[3,2,6,4]
>>> number2=number1[:]  #通过分片的方法获得一个和number1相同的列表
>>> number3=number1  #通过直接赋值的方法获得一个和number1相同的列表
>>> number2
[3, 2, 6, 4]
>>> number3
[3, 2, 6, 4]
>>> number1.sort()  #将number1排序
>>> number1   #number1改变
[2, 3, 4, 6]
>>> number2  #number2改变
[3, 2, 6, 4]
>>> number3  #number3不变
[2, 3, 4, 6]

这说明通过分片拷贝获得的新列表是不受原列表影响的独立列表,而通过赋值获得的只是改变了列表名称,本质上还是同一个列表。


2.元祖

向元祖中插入元素

>>> tuple1=('酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐')
>>> tuple1=tuple1[:2]+('落网',)+tuple1[2:]
>>> tuple1
('酷狗音乐', '网易云音乐', '落网', 'QQ音乐', '虾米音乐')

从元祖中获取元素

>>> tuple1=(1,2,3,4)
>>> tuple2=tuple1[:2]
>>> tuple2
(1, 2)

删除元祖

>>> tuple1=('酷狗音乐', '网易云音乐', 'QQ音乐', '虾米音乐')
>>> del tuple1
>>> tuple1
NameError: name 'tuple1' is not defined

元祖可变?不可变?

>>> tuple1= ('酷狗音乐', '网易云音乐', ['华晨宇', '丁可'])
>>> list1= tuple1[2]
>>> list1[0] = '杨千嬅'
>>> list1[1] = '莫文蔚'
>>> tuple1
('酷狗音乐', '网易云音乐', ['杨千嬅', '莫文蔚'])

这说明tuple所谓的“不变”是说,tuple的每个元素的指向不变。

元祖拷贝和操作符的用法与列表类似


3.字符串、列表和元祖的关系

序列的特点

  • 都可以通过索引得到每一个元素;
  • 默认索引值总是从0开始;
  • 可以通过切片的方法得到一个范围内的元素的集合;
  • 有很多共同的操作符(重复操作符、拼接操作符、成员关系操作符)。

序列的BIF

  • 返回sub的长度:len(sub)
>>> tuple1= ('酷狗音乐', '网易云音乐', ['华晨宇', '丁可'])
>>> len(tuple1)
3
  • 返回序列中的最大值、最小值,对于字母是比较它们的ASCII码:max(seq)、min(seq)
    在数学类函数中介绍的max()和min(),只说明了它们对数字的处理能力,其实它们也可以对序列操作。
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> max(player)
'虾米音乐'
>>> min(player)
'QQ音乐'
  • 对序列元素进行翻转:reversed()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> reversed(player)  #这样返回的是一个可迭代对象
<list_reverseiterator object at 0x0000000002E09780>
>>> list(reversed(player))  #这才是翻转的正确操作
['虾米音乐', 'QQ音乐', '网易云音乐', '酷狗音乐']
  • 生成每个元素的索引值和iterable值和组成的元祖的列表:enumerate()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> enumerate(player)
<enumerate object at 0x00000000030D71F8>
>>> list(enumerate(player))
[(0, '酷狗音乐'), (1, '网易云音乐'), (2, 'QQ音乐'), (3, '虾米音乐')]
  • 返回由各个参数的序列组成的元祖:zip()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> singer=['华晨宇','丁可','杨乃文','王若琳']
>>> zip(player,singer)
<zip object at 0x00000000030DF348>
>>> list(zip(player,singer))
[('酷狗音乐', '华晨宇'), ('网易云音乐', '丁可'), ('QQ音乐', '杨乃文'), ('虾米音乐', '王若琳')]
  • 对序列元素进行排序:sorted()
>>> player=['酷狗音乐','网易云音乐','QQ音乐','虾米音乐']
>>> sorted(player)
['QQ音乐', '网易云音乐', '虾米音乐', '酷狗音乐']
  • 返回序列中数值设定参数start的总和: sum(iterable[,start=0])
>>> tuple1=(1,2,3,4,)
>>> sum(tuple1)
10
>>> sum(tuple1,5)
15

任何参数都能用sum()吗?

>>> tuple1=('a','b','c','d')
>>> sum(tuple1)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

当序列的元素有非数字类型时报错了,说明sum()只能对数字型数据进行操作。

END!

Python入门(六)序列之中,序列之间相关推荐

  1. python入门(六)——python数据容器

    系列文章目录 python入门(一)--你好python python入门(二)--python基础语法 python入门(三)--python判断语句 python入门(四)--python循环语句 ...

  2. Python 入门笔记6——列表

    Python 入门笔记6--列表 序列 列表 列表的创建 list()创建 range()创建整数列表 推导式生成列表 列表元素的增加 append()方法 +运算符操作 +=运算符操作 extend ...

  3. python入门(一)——你好python

    系列文章目录 python入门(二)--python基础语法 python入门(三)--python判断语句 python入门(四)--python循环语句 python入门(五)--python函数 ...

  4. 序列(sequence)(Python入门十二)

    序列(sequence) - 序列是Python中最基本的一种数据结构     - 数据结构指计算机中数据存储的方式     - 序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索 ...

  5. python下标从0开始_从零学Python之入门(三)序列

    sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入"对象"概念,暂时说元素) 序列可以包含一个或多个元素,也可 ...

  6. Python基础(三)--序列

    Python基础(三)--序列 1 序列相关的概念 1.1 什么是序列 序列是一种可迭代对象,可以存储多个数据,并提供数据的访问. 序列中的数据称为元素,Python内置的序列类型有:列表(list) ...

  7. [流畅的Python][4][文本和字节序列]

    第4章 文本和字节序列 人类使用文本,计算机使用字节序列.--------Esther Nam和Travis Fischer Python3明确地区分了人类可读的文本字符串和原始的字节序列 4.1 字 ...

  8. 用Python将文本转换为DNA序列

    用Python将文本转换为DNA序列 脱氧核糖核酸(DNA)是一种有前途的存储介质,能够存储和存档我们大量的数据. 当比特被转换为碱基时,数据可以在DNA中进行编码. 编码数据就是将其从一种形式转换为 ...

  9. 【数字信号处理】序列傅里叶变换 ( 序列傅里叶变换与反变换 | 序列绝对可和 与 存在傅里叶变换之间的关系 | 序列傅里叶变换性质 )

    文章目录 一.序列傅里叶变换与反变换 二.序列绝对可和 与 存在傅里叶变换之间的关系 三.序列傅里叶变换性质 一.序列傅里叶变换与反变换 在上一篇博客 [数字信号处理]序列傅里叶变换 ( 序列傅里叶变 ...

  10. 《假如编程是魔法之零基础看得懂的Python入门教程 》——(六)精简魔法更强大

    学习目标 了解对相似逻辑的简化编写--循环 推荐 1.<备受好评的看得懂的C语言入门教程> 目录 第一篇:<假如编程是魔法之零基础看得懂的Python入门教程 >--(一)既然 ...

最新文章

  1. linux 设置 ls -l 快捷键为 ll 别名
  2. CentOS下如何完全卸载MySQL?解决卸载不干净的问题
  3. ARM处理器工作模式
  4. 作者:姚阳(1979-),女,广州市社会科学院经济学副研究员。
  5. 类似新浪微博和google图片的HTML5实现图片拖拽上传功能
  6. perl 操作redis 数据库 带用户名和密码验证,选择数据库0.1.2
  7. 去阿里面试,被一道 Spring 面试题难倒了
  8. Python基础—文件操作
  9. 艾司博讯:拼多多店铺要不要一直上新?上新有用吗?
  10. 会议安排(贪心算法和动态规划)
  11. 【DB宝36】使用Docker分分钟搭建漂亮的prometheus+grafana监控
  12. Android后台耗电分析及优化
  13. matlab 矩阵与向量乘法,性能:Matlab与C矩阵向量乘法
  14. python常用写法
  15. 二维码(微信二维码)缓存问题的解决方法
  16. 2011年20大3D网站
  17. Zepto中文API
  18. Python创意编程100例turtle篇题目串烧
  19. SEO集思广益,如何做到效果最佳?
  20. 贴一点代码(用VC实现在WINXP下的宽带拨号)

热门文章

  1. C++之文件操作探究(二):读文件——文本文件
  2. ugui unity3d 仪表盘_Unity3D---UGUI---UI创建以及Canvas设置
  3. python做股票系统_GitHub - yeyaowen/stock: stock,股票系统。使用python进行开发。
  4. python人脸识别防小偷_Python人脸识别
  5. android汉字转url,Android将文本中的URL转换为超链接工具类(原文本有超链接标签也适用)...
  6. python input文字_Python-8-讓使用者輸入文字/input()用法
  7. php的数组key删除,php删除数组的key
  8. c语言向自定数组_C语言怎么向自定义函数中传入一个数组,处理完再返回新的数组?...
  9. 研华自动驾驶计算机,ADVANTECH研华TPC-1582H-433BE 工业平板电脑一体机计算机工控机...
  10. python比较文件的修改时间,如何比较python中两个文件的修改日期?