第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 日 暂无评论 发表评论 假设你需要维护一个列表,这 ...
随机推荐
- 【Kata Daily 191010】Grasshopper - Summation(加总)
题目: Summation Write a program that finds the summation of every number from 1 to num. The number wil ...
- dat.GUI 打造可视化工具(一)
前言 有时候学习api其实我们可以从源码的角度学习,因为有时候很多文档写的太不清楚了,自己都是慢慢去试,去猜,去实现其实也是挺浪费时间的,面对未知的一脸蒙蔽,偶尔烦躁,其实需要的是自己静下心来慢慢研究 ...
- bert做阅读理解的一个细节
如上图所示,展示了如何用BERT来做信息抽取任务的结构图.注意一下几点即可: 1.将Question和Paragraph分别作为BERT的text1和text2输入. 2.start/end span ...
- ssh-keygen复制公钥到对方机器共享后不能免密码的问题
ssh-keygen复制公钥到对方机器共享后不能免密码的问题: 使用 ssh-keygen -t rsa 一路回车生成密钥公钥,并把公钥scp到友邻主机后,并没有免密码?何故? 原来是存有公钥的aut ...
- 探索 .Net Core 的 SourceLink
介绍 Source Link是一组软件包和一个规范, 它将一些元数据添加到PDB文件,以将本地文件重新映射到GitHub上的文件,因此Visual Studio可以在这需要时下载文件, 该项目的目的是 ...
- linux 进程间通信 共享内存 shmat
系统调用mmap()通过映射一个普通文件实现共享内存.系统V则是通过映射特殊文件系统shm中的文件实现进程间的共享内存通信.也就是说,每个共享内存区域对应特殊文件系统shm中的一个文件(这是通过shm ...
- vue 使用中的小技巧 (一)
在vue的使用过程中会遇到各种场景,当普通使用时觉得没什么,但是或许优化一下可以更高效更优美的进行开发.下面有一些我在日常开发的时候用到的小技巧 data 和 Object.freeze 每个Vue实 ...
- 接口自动化测试:apiAutoTest使用re 处理数据依赖
目录 废话 2020/11/19 参数依赖 更新后的效果 新版依赖数据如何使用 源码地址 道谢 废话 目前在工作中写脚本的时候发现了一些之前开源的apiAutoTest的可优化项,后面应该也是会慢慢的 ...
- 对图片进行Base64转码和解码
Base64代码 base64.c #include <stdlib.h> #include <stdio.h> #include <string.h> #incl ...
- 想换4K显示器了?那你搞懂啥是4K了吗?
前言 我们在科技资讯以及电脑显示器.数字电视等电子产品的宣传语中,经常能够看见4K的字样.最近,B站(哔哩哔哩)升级了HTML5播放器和视频云等相关服务,为广大用户提供了超高清(UHD: Ultra ...