python中的列表与元组的使用


Posted in Python onAugust 08, 2019

在python中的数据类型和控制流这篇文章中我们提到过列表,它是基本的数据类型之一。

通俗来说,它就是用来存储一系列数据的。比如存储一个班级的学生。

列表中的每个元素可以通过下标(索引)访问,索引从0开始。

既然列表存储的是一系列值,这必然存在「增删改查」的情况,就像一个班级的学生,有进入学的,也有退学的。

接下来我们来说说,首先我们先从列表的创建开始。

创建列表

list = [ele1 , ele2 , elem3 , ... , elen]

比如,创建一个数字列表或英文字符列表

nums = [1, 2, 3, 4, 5]
letters = ["a", "b", "c", "d"];

另外我们也可以创建一个空数组

list = []

访问列表中的值

访问列表中的值,使用下标即可。除了可以访问单个元素外还可以通过切片访问多个元素。

nums = [1, 2, 3, 4, 5]
print(nums[1]) #2
print(nums[1:3]) #[2, 3]

添加元素

append() 方法用于向列表的末尾添加元素。会修改原来的列表。

语法:

list.append(ele)

例如:

nums = [1,2]
nums.append(3)
print(nums) #[1, 2, 3]

插入元素

insert()方法在指定位置插入指定元素。

语法:

list.insert(index, ele)

例如:

list = ['javascript', 'python']
list.insert(0, 'java')
print(list) #['java', 'javascript', 'python']

list.insert(1, 'java')
print(list) #['javascript', 'java', 'python']

删除元素

想要删除列表中的元素可以有多种方式:

del 语句: 是专门用于执行删除操作,不仅可用于删除列表的元素,也可用于删除变量等。

1、del 语法:删除指定下标的元素

del list[index]

例如:

list = ['java', 'javascript', 'python']
del list[1]
print(list) #['java', 'python']

2、pop()方法用于删除指定下标元素,并返回该元素的值。

语法:

list.pop(index)

index 为可选参数,默认为最后一位。

例如:

默认是最后一位

list = ['java', 'javascript', 'python']
list.pop()
print(list) #['java', 'javascript']

指定索引

list = ['java', 'javascript', 'python']
list.pop(1)
print(list) #['java', 'python']

3、remove()方法用于删除第一次匹配的内容。

语法:

list.remove(ele)

例如:

list = ['java', 'javascript', 'python']
list.remove('java')
print(list) #['javascript', 'python']

只会删除第一次匹配的

list = ['java', 'javascript', 'python', 'java']
list.remove('java')
print(list) #['javascript', 'python', 'java']

修改列表

通过下标的方式进行修改

list = ['java', 'javascript', 'python']
list[1] = 'js'
print(list) #['java', 'js', 'python']

连接与合并

列表可以通过「+」操作符进行拼接

list1 = ['java', 'python']
list2 = ['javascript']
print(list1+list2) #['java', 'python', 'javascript']

extend()方法可用于列表与序列类型的数据合并。会把序列中的元素一次追加到列表的末尾。

语法:

list.extend(seq)

seq:可以为列表,元组,字典,集合。

例如:

合并列表

list1 = ['java']
list2 = ['python']
list1.extend(list2)
print(list1) #['java', 'python']

合并元组

list1 = ['java']
list2 = ('javascript', 'python')
list1.extend(list2)
print(list1) #['java', 'javascript', 'python']

合并字典,合并的却是字典的 key 值。

list1 = ['java']
list2 = {
 'web': 'javascript',
 'data': 'python'
}
list1.extend(list2)
print(list1) #['java', 'web', 'data']

合并集合

list1 = ['java']
list2 = {'javascript', 'python'}
list1.extend(list2)
print(list1) #['java', 'javascript', 'python']

查找元素

利用 in 与 not in:判断内容是否在列表中,返回True或Flase

list = ['java', 'javascript', 'python']
print('java' in list) #True
print('html' in list) #False
print('java' not in list) #False
print('html' not in list) #True

index()方法从列表中找出第一个匹配项的索引。如果没找到会抛出异常。

语法:

list.index(ele [, start[, end]])

ele:查找的内容,start:查找的开始位置,end:查找的结束位置。

例如:

list = ['java', 'javascript', 'python']
print(list.index('python')) #2

元组

元组与列表的用法相同,区别就在于元组不可变,而列表是可变的。

tuple = ('java', 'javascript', 'python')
tuple[1] = 'js'
print(tuple)

此时程序会抛出异常。

tuple = ('java', 'javascript', 'python')
del tuple[1]
print(tuple)

甚至删除都是不被允许的,一样会抛出异常。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python日期操作学习笔记
Oct 07 Python
编写Python脚本使得web页面上的代码高亮显示
Apr 24 Python
python:socket传输大文件示例
Jan 18 Python
Python3 模块、包调用&路径详解
Oct 25 Python
python try except 捕获所有异常的实例
Oct 18 Python
Python图像处理之gif动态图的解析与合成操作详解
Dec 30 Python
解决Python 使用h5py加载文件,看不到keys()的问题
Feb 08 Python
Python3进制之间的转换代码实例
Aug 24 Python
Python使用matplotlib绘制三维参数曲线操作示例
Sep 10 Python
Pycharm IDE的安装和使用教程详解
Apr 30 Python
Anaconda+spyder+pycharm的pytorch配置详解(GPU)
Oct 18 Python
基于Python实现将列表数据生成折线图
Mar 23 Python
详解python中的数据类型和控制流
Aug 08 #Python
python爬虫selenium和phantomJs使用方法解析
Aug 08 #Python
Python2和3字符编码的区别知识点整理
Aug 08 #Python
Python编程中类与类的关系详解
Aug 08 #Python
python os.fork() 循环输出方法
Aug 08 #Python
对python中的os.getpid()和os.fork()函数详解
Aug 08 #Python
在Python中os.fork()产生子进程的例子
Aug 08 #Python
You might like
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
原生js写的放大镜效果
2012/08/22 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
JavaScript中setter和getter方法介绍
2016/07/11 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
2016/12/23 Javascript
Vue.js使用$.ajax和vue-resource实现OAuth的注册、登录、注销和API调用
2017/05/10 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
layui 表格的属性的显示转换方法
2018/08/14 Javascript
利用hasOwnProperty给数组去重的面试题分享
2018/11/05 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
微信小程序 接入腾讯地图的两种写法
2021/01/12 Javascript
Python数据结构之Array用法实例
2014/10/09 Python
Python快速从注释生成文档的方法
2016/12/26 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
python绘制直方图和密度图的实例
2019/07/08 Python
python 并发编程 阻塞IO模型原理解析
2019/08/20 Python
基于tensorflow指定GPU运行及GPU资源分配的几种方式小结
2020/02/03 Python
Python猜数字算法题详解
2020/03/01 Python
linux 下selenium chrome使用详解
2020/04/02 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
Linux文件操作命令都有哪些
2015/02/27 面试题
硕士研究生自我鉴定范文
2013/12/27 职场文书
班组安全员工作职责
2014/02/01 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
毕业设计指导教师评语
2014/12/30 职场文书
五年级上册复习计划
2015/01/19 职场文书
2015年12.4全国法制宣传日活动总结
2015/03/24 职场文书
员工辞退通知书
2015/04/17 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL
JavaScript文档对象模型DOM
2021/11/20 Javascript