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和bash统计CPU利用率的方法
Jul 10 Python
Python采集猫眼两万条数据 对《无名之辈》影评进行分析
Dec 05 Python
python抓取搜狗微信公众号文章
Apr 01 Python
centos 安装Python3 及对应的pip教程详解
Jun 28 Python
简单了解python代码优化小技巧
Jul 08 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
Aug 21 Python
python 并发下载器实现方法示例
Nov 22 Python
Django-rest-framework中过滤器的定制实例
Apr 01 Python
PyPDF2读取PDF文件内容保存到本地TXT实例
May 12 Python
PyCharm vs VSCode,作为python开发者,你更倾向哪种IDE呢?
Aug 17 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
五种Python转义表示法
Nov 27 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
图解上海144收音机
2021/03/02 无线电
php使用parse_url和parse_str解析URL
2015/02/22 PHP
php实现图片转换成ASCII码的方法
2015/04/03 PHP
php实现统计目录文件大小的函数
2015/12/25 PHP
php版微信js-sdk支付接口类用法示例
2016/10/12 PHP
php+ajax无刷新上传图片的实现方法
2016/12/06 PHP
php高性能日志系统 seaslog 的安装与使用方法分析
2020/02/29 PHP
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
javascript encodeURI和encodeURIComponent的比较
2010/04/03 Javascript
基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
2012/06/14 Javascript
js变换显示图片的实例
2013/04/16 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jquery使用animate方法实现控制元素移动
2015/03/27 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
基于mpvue的小程序项目搭建的步骤
2018/05/22 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
js实现图片3D轮播效果
2019/09/21 Javascript
微信小程序自定义组件components(代码详解)
2019/10/21 Javascript
Python写的创建文件夹自定义函数mkdir()
2014/08/25 Python
Python 常用的安装Module方式汇总
2017/05/06 Python
python实现图片识别汽车功能
2018/11/30 Python
在Python中构建增广矩阵的实现方法
2019/07/01 Python
Python实现报警信息实时发送至邮箱功能(实例代码)
2019/11/11 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
Python关于反射的实例代码分享
2020/02/20 Python
Python操作dict时避免出现KeyError的几种解决方法
2020/09/20 Python
html5组织文档结构_动力节点Java学院整理
2017/07/11 HTML / CSS
在校实习生求职信
2014/06/18 职场文书
个人存款证明书
2014/10/18 职场文书
小学生差生评语
2014/12/29 职场文书
小学运动会加油稿
2015/07/22 职场文书
Golang 使用Map实现去重与set的功能操作
2021/04/29 Golang