第3.2节 Python列表简介
鉴于Python中列表(list)的强大功能,本节及后面至少有一节都是介绍列表相关的知识,本节先介绍基本的列表知识。
一、 列表的定义
列表是一种可以修改的序列,它有点类似于c语言中的数组,在Python中,列表用中括号来表示。
下列方式都是定义列表的方式
l1=[] # l1是空列表
l2=[1,2,3,4] #l2数字列表
l3=[1,2,3,‘a’,‘b’,‘c’] #l3数字和字母混合列表
l4=[‘Hello’,l2,l3] #l4是包含字符串和列表l2、l3作为元素的混合列表,对应的列表值为:[‘Hello’, [1, 2, 3, 4], [1, 2, 3, ‘a’, ‘b’, ‘c’]]
type(l4) #执行结果显示:<class ‘list’>从上面定义列表的样例可以看到,列表的元素类型没有要求,可以是任意数据类型,其元素甚至还可以是列表以及后面要介绍元组、集合等,不同元素可以是不同类型;
这种可以包含其他类型对象(如列表、元组、字典等)作为元素的对象,在 Python中称为容器(container);两种主要的容器是序列(如列表和元组)和映射(如字典)。在序列中,每个元素都有编号,而在映射中,每个元素都有名称(也叫键)。有一种既不是序列也不是映射的容器,它就是集合(set)。
二、 列表的操作方法
- 上节介绍的所有序列的操作方法都可以用于列表;
- 由于列表不同于字符串和元组,列表是一种可以修改的序列,所以列表的操作方法比上章介绍的要多,主要多出了如下内容:
- 通过索引修改元素的值,而这是字符串和元组无法进行的。如:
l = [‘张三’,‘19911008’,‘男’,‘本科’]
定义了一个存储张三基本信息的列表,可以通过l[3]=’研究生’,将该列表中的学历信息修改为‘研究生’; - 从列表中删除元素,只需使用del语句加列表元素位置即可,如删除性别可使用:del(l[2]) ,删除后l变为[‘张三’, ‘19911008’, ‘本科’];
- 方法insert用于将一个对象插入列表指定索引位置,如l.insert(2,‘男’),将上面删除性别的列表恢复了性别这个元素’;
- 方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素,不带参数就删除最后一个,带参数则删除指定位置的元素。pop是唯一既修改列表又返回一个非None值的列表方法。执行l.pop()就将列表中的学历“本科”删除并返回这个字符串;
- 方法extend可使用一个列表来扩展另一个列表,这可能看起来类似于拼接,但存在一个重要差别,那就是将修改被扩展的序列。在常规拼接中,情况是返回一个全新的序列,并没有改变参与拼接的列表的内容,实际上常规拼接是使用参与拼接的列表的副本叠加后创建一个新列表,而extend是将参数对应列表叠加到调用对象的末尾,因此如果使用l3= l1 + l2,拼接的效率将比l1.extend(l2)低.
- 方法remove通过找到列表中第一个与变量相同的元素,然后删除该元素且不返回值,这是与pop不同的地方。如:
n=[1,2,3,1,2,3]
b=n.remove(1) #删除后列表n变成了[2, 3, 1, 2, 3]。此地的1不是索引,是列表中的元素值,如果不用数字就更清晰 - 方法clear()删除列表的所有元素,列表变成空列表。
本节介绍了列表的基本概念及基本操作方法,下一节我们将继续介绍列表的一些复杂操作。
老猿Python系列文章用于逐步介绍老猿学习Python后总结的学习经验,这些经验有助于没有接触过Python的程序员可以很容易地进入Python的世界。该系列文章同步发表于:
http://blog.sina.com.cn/learnpython
http://laoyuanpython.lofter.com/
https://me.csdn.net/LaoYuanPython
欢迎大家批评指正,谢谢大家关注!
第3.2节 Python列表简介的更多相关文章
- Python列表简介和遍历
一.Python3列表简介 1.1.Python列表简介 序列是Python中最基本的数据结构 序列中的每个值都有对应的位置值,称之为索引,第一个索引是0,第二个索引是1,以此类推. Python有6 ...
- python列表简介
什么是列表?如何使用列表?https://docs.python.org/3/library/stdtypes.html#sequence-types-list-tuple-range 列表相关知识: ...
- Python编程从入门到实践笔记——列表简介
Python编程从入门到实践笔记——列表简介 #coding=utf-8 #列表——我的理解等于C语言和Java中的数组 bicycles = ["trek","cann ...
- python入门学习:2.列表简介
python入门学习:2.列表简介 关键点:列表 2.1 列表是什么2.2 修改.添加和删除元素2.3 组织列表 2.1 列表是什么 列表,是由一系列按特定顺序排列的元素组成.你可以创建包含字母表 ...
- 【Python编程:从入门到实践】chapter3 列表简介
chapter3 列表简介3.1 列表是什么 列表是一系列按特定顺序排列的元素组成. bicycle = ['trek','cannondale'] print bicycle 3.1.1 访问列表元 ...
- (转)python 列表与元组的操作简介
python 列表与元组的操作简介 原文:https://www.cnblogs.com/QG-whz/p/4782809.html 阅读目录 列表 list函数 列表的基本操作 列表方法 元组 tu ...
- Python成长笔记 - 基础篇 (三)python列表元组、字典、集合
本节内容 列表.元组操作 字符串操作 字典操作 集合操作 文件操作 字符编码与转码 一.列表和元组的操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 定义 ...
- Python的简介以及安装和第一个程序以及用法
Python的简介: 1.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言.自从20世纪90年代初Python语言诞生至今,它逐渐被广泛应用于处理系统管理任务和Web编程.Pytho ...
- [Python] heapq简介
[Python] heapq简介 « Lonely Coder [Python] heapq简介 judezhan 发布于 2012 年 8 月 8 日 暂无评论 发表评论 假设你需要维护一个列表,这 ...
随机推荐
- 视频直播源码开发中的流媒体协议:rtmp协议
一.概念与摘要 视频直播源码的RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频.视频和互动内容).RTMP提供了一套全双工的可靠的多路复用消息服务,类似 ...
- Java实现酒店客房管理系统
这篇文章主要为大家详细介绍了Java实现酒店客房管理系统,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 本文实例为大家分享了Java实现酒店客房管理系统的具体代码,供大家参考,具体内容如下 Log ...
- Python替换字符串中的空格
这是来源剑指offer的第二题,直接调用replace函数进行空格替换即可. 当我又想试试挨个字符比较进行替换时程序报错了: 错误原因是在python中字符串是一个不可变的数据类型,如果进行替换字符可 ...
- 把数据转化为JSON格式用ajax进行前后端交互
接着在https://www.cnblogs.com/dong973711/p/10907733.html的基础上做验证. 从前端提交数据 前端页面,submit.html <!DOCTYPE ...
- 14flask 渲染富文本编辑器
转载一个flask 渲染富文本编辑器: https://blog.csdn.net/qq_32198277/article/details/53355249 这里会产生一个问题: 通过富文本编辑器的数 ...
- javascript链式运动框架案例
javascript链式运动框架 任务描述: 当鼠标移入红色矩形时,该矩形宽度逐渐增加至400px,之后高度逐渐增加至400px; 当鼠标移出红色矩形时,该矩形高度逐渐减小至200px,之后宽度逐渐减 ...
- Interface(接口分享)第一节
一.接口初探 有时候我们传入的参数可能会包含很多的属性,但是编译器只会检查那些必须的属性是否存在,以及类型是否匹配,而咱们要讲的接口其实就是用来描述下面这个例子里的结构,对于接口传入的数据咱们只关心它 ...
- parted会启动你的ceph osd,意外不?
前言 如果看到标题,你是不是第一眼觉得写错了,这个怎么可能,完全就是两个不相关的东西,最开始我也是这么想的,直到我发现真的是这样的时候,也是很意外,还是弄清楚下比较好,不然在某个操作下,也许就会出现意 ...
- 彻底卸载MySQL5.7(msi,exe)版
1,停止MySQL服务 2,右键找到任务管理器 3,在程序中卸载MySQL 4,删除MySQL安装目录 有的是在C:\Program Files下,我的是在(X86)下 5,删除隐藏文件中的MySQL ...
- python + selenium 搭建环境步骤
介绍在windows下,selenium python的安装以及配置.1.首先要下载必要的安装工具. 下载python,我安装的python3.0版本,根据你自己的需要安装 下载setuptools ...