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 17 Python
python 输入一个数n,求n个数求乘或求和的实例
Nov 13 Python
Python输出\u编码将其转换成中文的实例
Dec 15 Python
Python实现二叉树前序、中序、后序及层次遍历示例代码
May 18 Python
python读csv文件时指定行为表头或无表头的方法
Jun 26 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
Jul 22 Python
Python迭代器iterator生成器generator使用解析
Oct 24 Python
关于pandas的离散化,面元划分详解
Nov 22 Python
mac 上配置Pycharm连接远程服务器并实现使用远程服务器Python解释器的方法
Mar 19 Python
Python matplotlib可视化实例解析
Jun 01 Python
解决redis与Python交互取出来的是bytes类型的问题
Jul 16 Python
pandas 实现将NaN转换为None
May 14 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
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
PHP新手上路(九)
2006/10/09 PHP
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
php.ini中date.timezone设置分析
2011/07/29 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
php中get_object_vars()方法用法实例
2015/02/08 PHP
thinkphp制作404跳转页的简单实现方法
2016/09/22 PHP
JSQL  一个 web DB 的封装
2010/05/05 Javascript
用js解决数字不能换行问题
2010/08/10 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
异步JavaScript编程中的Promise使用方法
2015/07/28 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
一个极为简单的requirejs实现方法
2016/10/20 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
详解Vue 全局引入bass.scss 处理方案
2018/03/26 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
[51:14]LGD vs VP 2018国际邀请赛淘汰赛BO3 第一场 8.21
2018/08/22 DOTA
python类装饰器用法实例
2015/06/04 Python
Python中你应该知道的一些内置函数
2017/03/31 Python
python绘制直线的方法
2018/06/30 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
如何用Matplotlib 画三维图的示例代码
2020/07/28 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
通过css3动画和opacity透明度实现呼吸灯效果
2019/08/09 HTML / CSS
《晚上的太阳》教学反思
2014/04/23 职场文书
体育馆的标语
2014/06/24 职场文书
民事授权委托书范文
2014/08/02 职场文书
婚前协议书范本
2014/10/27 职场文书
销售业务员岗位职责
2015/02/13 职场文书
2015年挂职干部工作总结
2015/05/14 职场文书
2016年禁毒宣传活动总结
2016/04/05 职场文书
JavaScript 去重和重复次数统计
2021/03/31 Javascript
详解CSS故障艺术
2021/05/25 HTML / CSS