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多线程学习资料
Dec 19 Python
python模拟登陆Tom邮箱示例分享
Jan 13 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
python:socket传输大文件示例
Jan 18 Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 Python
Python Threading 线程/互斥锁/死锁/GIL锁
Jul 21 Python
python实现超市商品销售管理系统
Oct 25 Python
Python imread、newaxis用法详解
Nov 04 Python
Python faker生成器生成虚拟数据代码实例
Jul 20 Python
用python制作个视频下载器
Feb 01 Python
python 定义函数 返回值只取其中一个的实现
May 21 Python
Python连接Postgres/Mysql/Mongo数据库基本操作大全
Jun 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学习笔记 [预定义数组(超全局数组)]
2011/06/09 PHP
php简单获取目录列表的方法
2015/03/24 PHP
如何解决PHP使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
PHP vsprintf()函数格式化字符串操作原理解析
2020/07/14 PHP
jQuery 获取对象 根据属性、内容匹配, 还有表单元素匹配
2010/05/31 Javascript
JQuery学习笔记 nt-child的使用
2011/01/17 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
javascript创建动态表单的方法
2015/07/25 Javascript
js精准的倒计时函数分享
2016/06/29 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
Electron + vue 打包桌面操作流程详解
2019/06/24 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
webpack是如何实现模块化加载的方法
2019/11/06 Javascript
JS面试题中深拷贝的实现讲解
2020/05/07 Javascript
Python实现读取并保存文件的类
2017/05/11 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
2018/01/22 Python
使用Python和xlwt向Excel文件中写入中文的实例
2018/04/21 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
python代码中怎么换行
2020/06/17 Python
Python self用法详解
2020/11/28 Python
Emporio Armani腕表天猫官方旗舰店:乔治·阿玛尼为年轻人设计的副线品牌
2017/07/02 全球购物
英国日常交易网站:Wowcher
2018/09/04 全球购物
经典c++面试题五
2014/12/17 面试题
办公室主任职责范文
2013/11/08 职场文书
幼儿园教师奖惩制度
2014/02/01 职场文书
医药营销个人求职信范文
2014/02/07 职场文书
青春励志演讲稿
2014/04/29 职场文书
校园环保建议书
2014/05/14 职场文书
餐饮服务食品安全责任书
2014/07/25 职场文书
晶体管单管来复再生式收音机
2021/04/22 无线电
javascript代码简写的几种常用方式汇总
2021/08/23 Javascript
Python 多线程处理任务实例
2021/11/07 Python