Python之列表和元组的基本操作(超详细)

这篇具有很好参考价值的文章主要介绍了Python之列表和元组的基本操作(超详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、操作列表元素

列表中的元素是有序存放的,因此可以直接通过索引来访问列表元素。同时列表中的元素是可变的。即不仅列表中的元素值可以修改,列表中的元素个数也是可变的。因此列表中的元素支持修改、添加和删除操作。

1.1 修改元素

格式:列表名【索引】= 新值

Python之列表和元组的基本操作(超详细)

 1.2 增加元素

1.2.1 append()方法

 append()方法是列表专属的方法之一,用来在指定的列表尾部,即当前最后一个元素的后面,追加指定新元素。

语法格式:列表名.append(新元素)

Python之列表和元组的基本操作(超详细)

1.2.2 insert()方法 

insert()方法允许为新增加的元素指定插入的位置,其中位置用索引表示。

 语法格式为:列表名.insert(索引,新元素)

>>> guests = ['张三','李四','王五','小阿丁']
>>> guests.insert(0,'小红')
>>> guests
['小红', '张三', '李四', '王五', '小阿丁']
>>> len(guests)
5

Python之列表和元组的基本操作(超详细)

注意:列表每次增加的元素可以是任何类型的。 

>>> play1 = ['小阿丁',18]
>>> play1
['小阿丁', 18]
>>> play1.append(20)
>>> play1
['小阿丁', 18, 20]
>>> play1.insert(0,'小红')
>>> play1
['小红', '小阿丁', 18, 20]

Python之列表和元组的基本操作(超详细)

1.3 删除元素 

 1.3.1 del命令

语法格式:del 列表名【索引】 

>>> guests
['小红', '张三', '李四', '王五', '小阿丁']
>>> del guests[0]
>>> guests
['张三', '李四', '王五', '小阿丁']

Python之列表和元组的基本操作(超详细)

 1.3.2 pop()方法

 语法格式:列表名.pop(索引)      #当缺省指定索引的时候,默认删除最后一个元素

>>> guests
['张三', '李四', '王五', '小阿丁']
>>> guests.pop(1)
'李四'
>>> guests
['张三', '王五', '小阿丁']
>>> guests.pop()
'小阿丁'
>>> guests.pop()
'王五'

 Python之列表和元组的基本操作(超详细)

 可以看出pop()不仅删除了列表中指定元素,而且返回了被删除的指定元素,这可以供后续使用。

1.3.3 remove()方法 

 语法格式:列表名.remove(元素值)

>>> guests
['小红', '张三', '李四', '张三', '小阿丁']
>>> guests.remove('李四')
>>> guests
['小红', '张三', '张三', '小阿丁']
>>> guests.remove('张三')
>>> guests
['小红', '张三', '小阿丁']

Python之列表和元组的基本操作(超详细) 可以看出,当列表中有相同值时,remove()方法删除的是列表中排在最前面的待删除的元素。

二、其他常用操作 

2.1 常用函数 

len()           #统计和返回指定列表的长度
in()   not in()       #判断指定元素是否在列表中
index()         #在列表中那个查找指定的元素,若存在则返回指定元素在列表中的索引,若存在多个则返回最小的,若不存在会报错
count()         #统计并返回列表中指定元素的个数
>>> guests = ['张三','李四','王五','小阿丁']
>>> '小阿丁' in guests
True
>>> '小红' in guests
False
>>> '小红' not in guests
True
>>> 
>>> len(guests)
4
>>> guests.index('小阿丁')
3
>>> guests.count('小阿丁')
1
>>> guests.count('小红')
0

Python之列表和元组的基本操作(超详细)

2.2 操作列表函数 

sort()           #列表元素从小到大升序排序,改变了源列表的元素的顺序
sorted()         #列表元素从小到大升序排序,生成排序后的副本,不改变原列表的顺序

 注意:sort()方法排序是基于ord()函数得到的编码值进行的。对于数字和英文字符排序,结果是确定的,但是处理中文的时候就有些复杂,因为中文通常会有拼音和笔画两种排序方式,而不同的字符集或采用拼音排序,或采用笔画排序,或采用偏旁部首排序,或混合多种排序方式,从而使得sort()方法对中文的排序结果和预判结果发生偏差。至于如何解决,我会在后面给出。

同时sort()不仅可以升序也可以降序,但是需要增加一个参数,如下图:

sort()方法格式:列表.sort() 

>>> nums = [9,3,8,2,1]
>>> nums.sort()
>>> nums
[1, 2, 3, 8, 9]
>>> nums.sort(reverse = True)
>>> nums
[9, 8, 3, 2, 1]

Python之列表和元组的基本操作(超详细)

sorted()函数语法格式:sorted(列表,reverse) 

>>> nums = [9,3,5,1,2,18]
>>> nums
[9, 3, 5, 1, 2, 18]
>>> sorted(nums,reverse = False)
[1, 2, 3, 5, 9, 18]
>>> sorted(nums,reverse = True)
[18, 9, 5, 3, 2, 1]

Python之列表和元组的基本操作(超详细)

Python之列表和元组的基本操作(超详细)

可以看出sorted()函数只生成排序后的列表副本,不改变原列表中元素的顺序。如果想保存排序后的列表,可以定义一个新的列表将其保存。

三、列表的扩充、复制和删除

3.1 列表的扩充 

3.1.1 “+”运算 

 “+”运算可以将两个列表“加”起来,生成一个新的列表,但是原来的列表并没有发生变化。

>>> list1 = ['小红','小王','小兰']
>>> list1
['小红', '小王', '小兰']
>>> list2 = ['张三','李四','王五','小阿丁']
>>> list2
['张三', '李四', '王五', '小阿丁']
>>> list1 + list2
['小红', '小王', '小兰', '张三', '李四', '王五', '小阿丁']
>>> list1
['小红', '小王', '小兰']
>>> list2
['张三', '李四', '王五', '小阿丁']

Python之列表和元组的基本操作(超详细)

3.1.2 extend() 方法 

 extend()方法不同于“+”方法,因为“+”必须通过赋值语句才能将结果写入新的列表中,而extend()方法可以直接将新的列表添加至原列表之后。

语法格式为:列表.extend(新列表)

>>> list1
['小红', '小王', '小兰']
>>> list2
['张三', '李四', '王五', '小阿丁']
>>> list1.extend(list2)
>>> list1
['小红', '小王', '小兰', '张三', '李四', '王五', '小阿丁']
>>> list2
['张三', '李四', '王五', '小阿丁']

Python之列表和元组的基本操作(超详细)

3.1.3 “*”运算 

 列表的乘法运算是指将列表中的元素重复多遍。

语法格式:列表*n

>>> list2
['张三', '李四', '王五', '小阿丁']
>>> list2 * 3
['张三', '李四', '王五', '小阿丁', '张三', '李四', '王五', '小阿丁', '张三', '李四', '王五', '小阿丁']

Python之列表和元组的基本操作(超详细)  

 3.2 列表的复制

 3.2.1 copy() 方法

>>> list2
['张三', '李四', '王五', '小阿丁']
>>> listscopy = list2.copy()
>>> listscopy
['张三', '李四', '王五', '小阿丁']

3.2.2 列表之间的赋值 

>>> list2
['张三', '李四', '王五', '小阿丁']
>>> list1 = list2
>>> list1
['张三', '李四', '王五', '小阿丁']

做到这,似乎这两种方法没有任何区别,都能实现列表的复制,那到底有什么区别呢?继续往下进行删除元素的尝试。

>>> list1
['张三', '李四', '王五', '小阿丁']
>>> list1copy = list1.copy()
>>> list1copy
['张三', '李四', '王五', '小阿丁']
>>> del list1copy[0]
>>> list1copy
['李四', '王五', '小阿丁']
>>> list1
['张三', '李四', '王五', '小阿丁']

通过copy()方法得到的新列表在执行删除一个元素的时候,该元素只是从复制的列表中删除,原列表并没有发生任何变化。

>>> list1
['张三', '李四', '王五', '小阿丁']
>>> list2 = list1
>>> list2
['张三', '李四', '王五', '小阿丁']
>>> del list2[0]
>>> list2
['李四', '王五', '小阿丁']
>>> list1
['李四', '王五', '小阿丁']

但是使用赋值得到的新列表在执行删除一个元素的时候,该元素不仅在复制列表中被删除,在原列表中也被删除。

这说明,列表的copy()方法会生成一个原列表的备份,并将该备份赋值给新列表,这被称为“深拷贝”。而直接的列表赋值,仅仅是让原列表多了一个新的名字,所谓的“新”列表和原列表共享原来的列表内容,这被称为“浅拷贝”。 

3.2.3 列表的切片实现复制

 倘若想复制列表的一部分,那就可以使用切片。

>>> list1
['李四', '王五', '小阿丁']
>>> list3 = list1[1:3]
>>> list3
['王五', '小阿丁']

这也是一种“深拷贝”,读者可以自己上机实验。

3.3 列表的删除 

 语法格式:del 列表名

Python之列表和元组的基本操作(超详细)

注意del 也可以通过删除所有元素达到清空列表的作用,原列表仍保存,只不过是一个空列表。

>>> list2
['李四', '王五', '小阿丁']
>>> del list2[:]
>>> list2
[]

四、元组

特别注意:元组的元素是不能修改的,可以将元组理解为“不能修改的列表”。 

 元组是一种特殊的列表,很多特性和列表相似。

4.1 转换函数 

 4.1.1 元组与列表之间的转换

 tuple()函数用来将列表转换为元组,list()函数用来将元组转换为列表。

>>> tup1 = ("小阿丁","女",18)
>>> tup1 
('小阿丁', '女', 18)
>>> list1 = list(tup1)
>>> list1 
['小阿丁', '女', 18]
>>> list2 = ['小阿丁','女',20]
>>> list2
['小阿丁', '女', 20]
>>> tup2 = tuple(list2)
>>> tup2
('小阿丁', '女', 20)

4.1.2 字符串与列表之间的转换 

>>> name = '小阿丁,小红'
>>> list1 = list(name)
>>> list1 
['小', '阿', '丁', ',', '小', '红']

4.1.3 split()方法  

split()方法是处理字符串的方法,用来根据指定的分隔符拆分字符串,并生成列表。

语法格式为:字符串.split(分隔符)      #分隔符如果缺省的话,默认按照空格拆分字符串文章来源地址https://www.toymoban.com/news/detail-441830.html

>>> sentence = 'I want to be split by spcaes.'
>>> name = '小阿丁,小红'
>>> sentencelist = sentence.split()
>>> sentencelist
['I', 'want', 'to', 'be', 'split', 'by', 'spcaes.']
>>> namelist = name.split(',')
>>> namelist
['小阿丁', '小红']

到了这里,关于Python之列表和元组的基本操作(超详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python:list列表与tuple元组的区别

    在Python中, List(列表) 和 Tuple(元组) 都是用于 存储一组有序元素的数据结构 ,但它们有一些关键的区别,包括可变性、性能、语法等方面。 用法: 用方括号[]表示。 支持增删改操作,是可变的。 适用于存储有序的、可变的元素集合。 示例: 用法: 用圆括号()表示。

    2024年01月18日
    浏览(54)
  • 【学习笔记】Python核心技术与实战-基础篇-03列表和元组,到底用哪个?

    列表和元组,都是一个可以放置任意数据类型的有序集合。 在绝大多数编程语言中,集合的数据类型必须一致。不过,对于 Python 的列表和元组来 说,并无此要求: 列表是动态的,长度大小不固定,可以随意地增加、删减或者改变元素(mutable)。 而元组是静态的,长度大小

    2024年02月08日
    浏览(36)
  • 探索Python数据容器之乐趣:列表与元组的奇妙旅程!

    Python中的数据容器: 一种可以容纳多份数据的数据类型 ,容纳的每一份数据称之为1个元素 每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。 数据容器根据特点的不同,如:是否支持重复元素、是否可以修改、是否有序,等分为5类,分别是: 列表(list)、

    2024年02月14日
    浏览(30)
  • 《Python魔法大冒险》010 魔法宝箱:列表与元组的探险

    城堡的大门 随着小鱼和魔法师的深入,他们来到了一个古老的废弃城堡。城堡的大门上挂着一个巨大的锁,而锁的旁边有一排小抽屉,每个抽屉里都有一个物品。 魔法师对小鱼说:“这是一个古老的魔法宝箱,小鱼。为了打开这扇门,我们需要正确地组合这些物品。在Pyth

    2024年02月09日
    浏览(26)
  • Python re.findall()中的正则表达式包含多个括号时的返回值——包含元组的列表

    当 re.findall() 中的正则表达式包含多个括号时,返回值是一个列表,其中每个元素都是一个元组。这个元组的长度与正则表达式中括号的数量相同,元组中的每个元素都是与相应括号中的模式匹配的文本。 输出:

    2024年02月19日
    浏览(36)
  • Python入门教程+项目实战-11.3节: 元组的操作方法

    目录 11.3.1 元组的常用操作方法 11.3.2 元组的查找 11.3.3 知识要点 11.3.4 系统学习python 元组类型是一种抽象数据类型,抽象数据类型定义了数据类型的操作方法,在本节的内容中,着重介绍元组类型的操作方法。 元组是一种不可变的数据类型,不可以元组执行修改等操作,在

    2023年04月26日
    浏览(33)
  • Java中列表的基本操作

    列表有下标,是一个可变容器,元素可以重复,Java中list包含arraylist和linklist,通常使用的是arraylist,查询速度更快,导入的包是java.util.ArrayList。 定义列表时,如果指定列表接受的数据类型为8大数据类型,需要使用对应数据类型的包装类;列表是一个可变容器,定义后默认元

    2024年02月01日
    浏览(28)
  • 【Python 笔记(二)——基本语句 变量类型 字符串 序列 列表与元组 字典与集合】

    在 Python 中,基本语句可以帮助我们完成一些基本的操作,如控制流程、定义函数等。以下是 Python 中的几种基本语句: if 语句 if 语句用于判断某个条件是否成立,如果条件成立则执行相应的代码块。 for 语句 for 语句用于遍历序列中的元素,依次执行相应的代码块。 while 语

    2024年02月08日
    浏览(32)
  • 华为OD机试 - 符合要求的元组的个数(Java & JS & Python)

    题目描述 给定一个整数数组 nums、一个数字k,一个整数目标值 target,请问nums中是否存在k个元素使得其相加结果为target,请输出所有符合条件且不重复的k元组的个数 数据范围 2 ≤ nums.length ≤ 200 -10^9 ≤ nums[i] ≤ 10^9 -10^9 ≤ target ≤ 10^9 2 ≤ k ≤ 100 输入描述 第一行是nu

    2024年02月15日
    浏览(30)
  • Python 基本操作

    Python语法可以直接在命令行中编写并执行: 或者,可以在服务器上创建一个带有.py文件扩展名的Python文件,并在命令行中运行它: 缩进是指代码行开头的空格。 在其他编程语言中,代码中的缩进仅用于提高可读性,而在Python中,缩进非常重要。 Python使用缩进来表示一块代码

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包