【Python⑤】python序列---list和tuple
sequence 序列
sequence(序列)是一组有顺序的对象的集合。序列可以包含一个或多个元素,也可以没有任何元素。
我们之前所说的基本数据类型,都可以作为序列的对象。对象还可以是另一个序列。序列有两种:list (表) 和 tuple(元组) 。
list和tuple的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。
List
获得list元素的个数:
>>> lst=['更新慢','python',5.44,False]
>>> len(lst)
4
引用访问时索引是从0开始,注意不要越界:
>>> lst[0]
'更新慢'
>>> lst[1]
'python'
>>> lst[2]
5.44
>>> lst[3]
False
>>> lst[4]
Traceback (most recent call last):
File "<pyshell#30>", line 1, in <module>
lst[4]
IndexError: list index out of range
用-1做索引,直接获取最后一个元素:
>>> lst[-1]
False
>>> lst[-2]
5.44
>>> lst[-3]
'python'
>>> lst[-4]
'更新慢'
>>> lst[-5]
Traceback (most recent call last):
File "<pyshell#35>", line 1, in <module>
lst[-5]
IndexError: list index out of range
因为list是一个可变的有序表,所以,可以往list末尾追加元素:
>>> lst.append('加我一个')
>>> lst
['更新慢', 'python', 5.44, False, '加我一个']
一次追加多个元素:
>>> lst.extend(['A','B','C'])
>>> lst
['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B', 'C']
要删除list末尾的元素,用pop()方法:
>>> lst.pop()
'C'
>>> lst
['更新慢', 'python', 5.44, False, '加我一个', 'A', 'B']
删除指定位置的元素,用pop(i)方法,其中i是索引位置:
>>> lst.pop(0)
'更新慢'
>>> lst
['python', 5.44, False, '加我一个', 'A']
list元素替换,可以直接赋值给对应的索引位置:
>>> lst[-1]=''
>>> lst
['python', 5.44, False, '加我一个', '']
list元素也可以是另一个list,插入的那个list只算一个元素:
>>> lst.append(lst1)
>>> lst
['python', 5.44, False, '加我一个', '', ['', 'QWER']]
>>> len(lst)
6
Tuple
Tuple一旦初始化就不能修改。字符串是一种特殊的元素,因此可以执行元组的相关操作。
>>> str='该睡觉了,晚安!'
>>> print (str[:7])
该睡觉了,晚安
不可变的tuple意义就在于因为不可变,所以代码更安全。如果可能,能用tuple就尽量用tuple。
>>> tuple=('','','')
>>> tuple[0]=6
Traceback (most recent call last):
File "<pyshell#62>", line 1, in <module>
tuple[0]=6
TypeError: 'tuple' object does not support item assignment
定义一个空tuple:
>>> tuple1=()
>>> tuple1
()
注意,要定义一个只有1个元素的tuple:
>>> tuple2=(666,)
>>> tuple2
(666,) #正确的
>>> tuple3=(666)
>>> tuple3
666 #错误的,只定义了666这个数
注意:Tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。
>>> l=['CCTV-5','HI']
>>> tuple4=('UFO','HACK',l)
>>> tuple4
('UFO', 'HACK', ['CCTV-5', 'HI'])
>>> l[1]='我先变一下'
>>> tuple4
('UFO', 'HACK', ['CCTV-5', '我先变一下'])
所以尽量避免这种套用。
当日小结
掌握List和Tuple的常用方法以及注意事项。
【Python⑤】python序列---list和tuple的更多相关文章
- Python sequence (序列)
序列简介 sequence 是一组有序元素的组合 序列可以是多个元素,也可以一个元素都没有 序列有2种:tuple(定值表).List(表) D:\python\Python_Day>pytho ...
- Python常见序列详解
一.Python中序列的分类 常见序列类型包括字符串(普通字符串和unicode字符串),列表和元组.所谓序列,即成员有序排列,可通过下标访问. 二.Python序列通用操作 下面我们将分别以字符串. ...
- 孤荷凌寒自学python第八天 初识Python的序列之元组
孤荷凌寒自学python第八天 Python的序列之元组 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) (同步音频笔记:https://www.ximalaya.com/keji/19103 ...
- python的dict,set,list,tuple应用详解
python的dict,set,list,tuple应用详解 本文深入剖析了python中dict,set,list,tuple应用及对应示例,有助于读者对其概念及原理的掌握.具体如下: 1.字典(d ...
- python基础——使用list和tuple
python基础——使用list和tuple list Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用 ...
- Python之创建单元素tuple
tuple和list一样,可以包含 0 个.1个和任意多个元素. 包含多个元素的 tuple,前面我们已经创建过了. 包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示: >& ...
- Python 学习之list和Tuple类型
1.创建list L = ['Adam', 95.5, 'Lisa', 85, 'Bart', 59] print(L) print(L[1],L[3],L[5])#索引 不能越界 正向访问 #95. ...
- Python基本序列-字典
Python 基本序列-字典 字典(dict)是"键-值 对"的无序可变序列,字典中的每个元素包含两部分,"键"和"值". 字典中的&quo ...
- Python的基本类型(list,tuple)
Python的基本类型(list,tuple) 一列表: 1.列表是Python基础的数据类型之一,其他语言也有类似的数据类型,比如js中的数组,java中的数组等,它是以[]括起来 ,每个元素用', ...
- python基础数据类型--元组(tuple)
python基础数据类型--元组(tuple) 一.元组的定义和特性 定义:与列表相似,只不过就是将[ ] 改成 ( ) 特性:1.可以存放多个值 2.不可变 3.按照从左到右的顺序定义元组元素,下标 ...
随机推荐
- Bootstrap_缩略图
缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底下(左侧或右侧)带有标题.描述等信息. Bootstrap框架将这一部独立成一个模块组件.并通过“thumbnail”样式配合 ...
- 遗传算法在JobShop中的应用研究(part4:变异)
下面,我们以车间调度为例来谈谈遗传算法中的另一个重要操作变异.变异操作通常发生在交叉操作之后,它的操作对象是交叉得到的新染色体.在本文中我们通过随机交换染色体的两个位置上的值来得到变异后的染色体,变异 ...
- JAVA 冒泡算法
每种语言都有冒泡JAVA实现如下: public static void main(String args[]){ System.out.println("Start"); int ...
- lightBox灯箱效果
最近想做一个类似QQ空间相册,点击照片会出现一个遮罩层,然后显示照片,可以左右切换照片,上网查了,原来叫灯箱效果,于是自己也写了一个简单的灯箱效果,并进行了简单封装,封装得不是很完善,后面还需要改进, ...
- js : json和 cookie 的简单操作
使用 cookie,可以记录用户的最近的浏览历史 <!DOCTYPE HTML> <html lang="zh-cn"> <head> < ...
- JFinal - scheduler 插件做定时任务
我在项目中遇到一个需求:服务运行期间,数据库要定期去监测某表并且更新. 正好项目是使用 jfinal 做的,于是就用了 jfinal-scheduler 插件来解决(jfinal-scheduler ...
- web前端性能优化指南(转)
web前端性能优化指南 概述 1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络 ...
- VS.Net 2015 Update3 学习(2) jquery-form, jquery-validation,jquery-validation-unobtrusive一起用
我觉DataAnnotations非常酷的一个功能.但是教程中的@ajaxform的却不怎么优雅,需要全局的onSucces等函数.因此我使用jquery-form做ajax提交. function ...
- 汇编语言写出的helloworld运行过程
一:首先说一点,这篇文章建立在懂一点汇编的基础上,有几个简单的命令,说以下: 1:-r命令 -r 查看寄存器 -r 寄存器 (如 -r AX) 修改寄存器的值: 2:-d命令 -d 地址:xxxx:x ...
- 启动windows bat文件出现错误,直接关闭
如果执行运行run.bat,提示错误直接退出后,可以直接使用cmd命令进入当前目录,运行,会显示错误信息.