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使用新浪微博api上传图片到微博示例
Jan 10 Python
对Python 除法负数取商的取整方式详解
Dec 12 Python
python 图像平移和旋转的实例
Jan 10 Python
Python实现的读取文件内容并写入其他文件操作示例
Apr 09 Python
解决Django中修改js css文件但浏览器无法及时与之改变的问题
Aug 31 Python
Python数学形态学实例分析
Sep 06 Python
python使用Matplotlib改变坐标轴的默认位置
Oct 18 Python
Python:合并两个numpy矩阵的实现
Dec 02 Python
解决pymysql cursor.fetchall() 获取不到数据的问题
May 15 Python
python 实现图像快速替换某种颜色
Jun 04 Python
python3.7调试的实例方法
Jul 21 Python
详解python的super()的作用和原理
Oct 29 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
用PHP实现图象锐化代码
2007/06/14 PHP
mysql+php分页类(已测)
2008/03/31 PHP
php中用date函数获取当前时间有误的解决办法
2013/08/02 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
使用ThinkPHP的自动完成实现无限级分类实例详解
2016/09/02 PHP
php获取小程序码的实现代码(B类接口)
2020/06/13 PHP
使用PHP+JQuery+Ajax分页的实现
2013/04/23 Javascript
js控制页面控件隐藏显示的两种方法介绍
2013/10/09 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
Node.js和PHP根据ip获取地理位置的方法
2014/03/14 Javascript
jquery实现鼠标点击后展开列表内容的导航栏效果
2015/09/14 Javascript
DWR3 访问WEB元素的两种方法实例详解
2017/01/03 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
Angular.JS中指令ng-if、ng-show/ng-hide和ng-switch的使用教程
2017/05/07 Javascript
jQuery实现倒计时功能 jQuery实现计时器功能
2017/09/19 jQuery
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
解析Vue.js中的组件
2018/02/02 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
Three.js中矩阵和向量的使用教程
2019/03/19 Javascript
Vue 递归多级菜单的实例代码
2019/05/05 Javascript
在Vue项目中使用Typescript的实现
2019/12/19 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
Python及Django框架生成二维码的方法分析
2018/01/31 Python
pandas的object对象转时间对象的方法
2018/04/11 Python
Python判断字符串是否为字母或者数字(浮点数)的多种方法
2018/08/03 Python
我喜欢你 抖音表白程序python版
2019/04/07 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
学python最电脑配置有要求么
2020/07/05 Python
HTML5中图片之间的缝隙完美解决方法
2017/07/07 HTML / CSS
高中微机老师自我鉴定
2014/02/16 职场文书
软件部经理岗位职责范本
2014/02/25 职场文书
技术股份合作协议书
2014/10/05 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js