【Python】序列类型①-列表

这篇具有很好参考价值的文章主要介绍了【Python】序列类型①-列表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 前言

序列是一块用来存放多个值的内存空间.Python中常用的数据结构有列表,元组,字典,字符串,集合等. 本篇文章主要讲解列表的常见操作.

2. 列表的定义

列表是python中内置的可变序列,是包含若干元素的有序连续内存空间
所有的元素存放在 [] 中
元素之间用逗号隔开

列表的定义有两种方式:

  1. 使用字面值创建列表
  2. 使用list()创建列表

实例:

# 使用使用字面值创建列表
# []就代表一个空列别
a = []
print(type(a))

# 使用list()创建列表
b = list()
print(type(b))

# 输出的结果为:
# <class 'list'>
# <class 'list'>

列表可以在定义时进行初始化,但与C/Java等里面的数组不同的是,数组只能放同一类型的变量,例如整型数组就只能放整数类型的元素,而列表不同,列表可以存放不同数据类型的元素
示例:

a = [1,2,3]
print(a)
# 输出[1, 2, 3]

b = list((1,2,3))
print(b)
# 输出[1, 2, 3]

c = [1,1.2,"ads",False,[1,2,3]];#也可以存放列表的数据
print(c)
# 输出[1, 1.2, 'ads', False, [1, 2, 3]]

3. 列表的下标访问

对列表的元素,可以通过 列表名[下标] 这种形式进行访问
注意:这里的下标都是从0开始的 ,下标的有效范围是0到列表长度-1
如果超出下标的有效范围,那么就会出现异常
列表的长度可以直接使用内置函数len(列表名)获取
len()不止能求列表的长度,也可以求字符串、元组、字典等这个类型的长度

# 下标的范围[0,2]
a = [1,2,3]
print(len(a))
# 输出结果:3
print(a[1]) #对列表的元素进行访问
# 输出结果:2
a[2] = 5 #对列表的元素进行修改
print(a)
# 输出结果:[1, 2, 5]

python中的下标也可以写成负数的形式

a = [1,2,3]
print(a[len(a)-1])
# 输出结果:3
print(a[-1])
# 输出结果:3

对于这里面的-1可以理解为len(列表名)-1把len(列表名)这个给省略了,也可以理解为是倒数第一个元素,只要能记住,大家怎么理解都行
如果是用负数表示下标,那么下标的有效范围就是[-len(列表名),-1]

3.1 嵌套列表的下标

在讲列表定义的时候说过列表的元素类型不限制,当然也就可以在列表中存放列表
示例:

a = [[1, 2, 3], [4, 5, 6]]

对于这种列表里面是嵌套的列表,也是支持下标索引的
例如:

a = [[1, 2, 3], [4, 5, 6]]
print(a[0][1])
# 输出结果:
# 2

上面的代码可以分成两步进行理解:

  1. 可以把[1,2,3]和[4,5,6]看出是a列表中的两个元素,a[0]就是得到[1,2,3]这个列表
  2. a[0][1]就相当于访问了[1,2,3]这个列表的第二个元素,所以输出结果为2

4. 列表的切片操作

切片操作使Python中有序序列的重要操作之一. 切片操作的本质上是截取一段子序列.

语法格式为: [start: stop: step]
 start: 切片的开始位置
 stop: 切片的结束位置(但不包含这个位置)
 step: 切片的步长,步长可以省略时默认是1,如果是省略可以顺便省略最后一个冒号

示例1:

a = [1, 2, 3, 4, 5, 6, 7]
print(a[2:5])

# 输出结果:
[3, 4, 5]

列表的下标从0开始,因此下标为2的值为3,5下标的值是6,因为是不包含5这个下标的,且默认的步长为1,因此切片出来的值为[3,4,5].
切片操作是很灵活的,除了步长可以省略,前面的两个表示范围的数字也是可以省略的

示例2:

a = [1, 2, 3, 4, 5, 6, 7]
print(a[:])
# [1, 2, 3, 4, 5, 6, 7]
print(a[3:])
# [4, 5, 6, 7]
print(a[:3])
# [1, 2, 3]
print(a[:-1])
# [1, 2, 3, 4, 5, 6]
  • 当前面两个数都省略时,表示的就是整个列表.
  • 省略结束位置,就是从开始位置一直到列表结束
  • 省略开始位置,就是从0下标一直到结束位置(不包括结束位置)
  • 切片操作中的位置也可以写成负数形式

示例3:
带有步长的切片

a = [1, 2, 3, 4, 5, 6, 7]
print(a[::2])
#[1, 3, 5, 7]

步长除了取整数,也可以是负数.如果步长为负数则代表是从后往前取.

a = [1, 2, 3, 4, 5, 6, 7]
print(a[::-1])
# [7, 6, 5, 4, 3, 2, 1]

需要注意的是与下标访问列表元素不同,切片操作不会因为下标越界而抛出异常.而是尽可能地获取到所需要的元素
示例4:

a = [1, 2, 3, 4, 5, 6, 7]
print(a[:100])
# [1, 2, 3, 4, 5, 6, 7]

虽然上面我想要获取的列表元素是a列表下标从0开始到100位置(不包括100)之间的元素,但a列表的长度是远远不够100的,所以在进行切片时,在a列表的尾部时就进行截断了.因此使用切片操作可以使代码具有更强的健壮性

5. 列表的遍历

5.1 使用for循环进行遍历

使用for循环遍历列表有两种方式
方法1:

a = [1, 2, 3]
for elem in a:
    print(elem)

# 1
# 2
# 3

上述代码中,elem相当于使一个临时变量,值就是a列表中的每一个元素
方法2:

a = [1, 2, 3]

for i in range(len(a)):
    print(a[i])

# 1
# 2
# 3

5.2 while循环进行遍历

a = [1, 2, 3]
i = 0
while i < len(a):
    print(a[i])
    i += 1

# 1
# 2
# 3

6.添加列表元素

在列表中新增元素有两种方式,一种是 使用append方法,另一种是使用insert方法

6.1 使用append方法添加元素

append方法是往列表的末尾新增元素,使用的方法很简单

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

a = [1, 2, 3]
a.append(4)
print(a)
# [1, 2, 3, 4]

6.2 使用insert方法添加元素

与append方法不同,insert方法可以往指定位置新增元素.

a = [1, 2, 3]
a.insert(1, 'insert')
print(a)
# [1, 'insert', 2, 3]

需要注意的是,如果指定的位置超过了列表的长度,只会插入列表的末尾

a = [1, 2, 3]
a.insert(100, 'insert')
print(a)
# [1, 2, 3, 'insert']

7. 列表的拼接

7.1 使用 + 进行拼接

a = [1, 2, 3]
b = [4, 5, 6]
c = a + b
print(c)
# [1, 2, 3, 4, 5, 6]

使用 + 拼接本质上是产生了一个更大的列表,不会修改原来的列表

7.2 使用extend 进行拼接

extend 是在原有的列表基础上将另外一个列表进行拼接. 这个方法会修改原来的列表

a = [1, 2, 3]
b = [4, 5, 6]
a.extend(b)
print(a)
# [1, 2, 3, 4, 5, 6]

7.3 使用 += 进行拼接

a = [1, 2, 3]
b = [4, 5, 6]
a += b
print(a)
# [1, 2, 3, 4, 5, 6]

8. 列表的常用方法

以下是列表中一些常用的内置函数:

方法 说明
列表名.append(x) 将元素x添加到列表的最后位置
列表名.extend(L) 将列表L中的所有元素添加到列表的尾部
列表名.insert(index,x) 在列表的index位置插入元素x
列表名.remove(x) 在列表中删除首次出现的元素x
列表名.pop([index]) 删除并返回列表对象的指定位置的元素,默认为最后一个元素
列表名.clear() 删除列表中所有元素,但保留列表对象
列表名.index(x) 返回第一个值为x的元素下标,做不存在x,则抛出异常
列表名.count(x) 返回指定元素x在列表中的个数
列表名.reverse() 对列表元素进行原地翻转
列表名.sort(key=None,reverse=False) 对列表元素进行原地排序
列表名.copy() 对列表元素进行浅拷贝
len(列表名) 统计列表中元素的个数

感谢你的观看!希望这篇文章能帮到你!
python专栏在不断更新中,欢迎订阅!
“愿与君共勉,携手共进!”
【Python】序列类型①-列表文章来源地址https://www.toymoban.com/news/detail-430493.html

到了这里,关于【Python】序列类型①-列表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • python经典有序序列的list列表推导式

    生成一个数据列表 使用列表推导式生成该数据列表 分析: 1、使用一行代码的列表推导式就完成了该列表的生成 2、[i for i in range(20)],第一个i元素代表向列表list_2中添加的元素 3、[i for i in range(20)],第二个i元素代表for循环遍历的i元素 使用列表推导式生成只有偶数的数据列

    2024年02月02日
    浏览(60)
  • 【python基础】复杂数据类型-列表类型(元组)

    列表非常适合用于存储在程序运行期间可能变化的数据集。列表是可以修改的。 然而,有时候需要创建一系列不可修改的元素,元组可以满足这种需求 python将不能修改的值称为不可变的,而不可变的列表被称为元组。 元组看起来犹如列表,但使用圆括号而不是方括号来标识

    2024年02月07日
    浏览(67)
  • 【python进阶】列表排序已经掌握?这种将变量插入列表序列的方法你该知道了

    🙋‍♂️作者简介:生鱼同学,大数据科学与技术专业硕士在读👨‍🎓,曾获得华为杯数学建模国家二等奖🏆,MathorCup 数学建模竞赛国家二等奖🏅,亚太数学建模国家二等奖🏅。 ✍️研究方向:复杂网络科学 🏆兴趣方向:利用python进行数据分析与机器学习,数学建模竞

    2023年04月08日
    浏览(43)
  • 【Python】数据类型之列表

    列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可 1.1 定义列表 1.2 打印和截取列表 1.3 遍历列表 2.1 更新和删除列表 2.3 脚本操作符 * + in 函

    2024年02月14日
    浏览(36)
  • 【python基础】复杂数据类型-列表类型(增删改查)

    视频讲解 列表数据类型-增删改查 列表是由一系列数据元素按特定顺序排列组成的 。可以将 任何类型数据元素 加入列表中,其中的数据元素之间没有任何关系。鉴于列表通常包含多个数据元素,给列表变量指定一个表示复数的名称是个不错的选择。 在Python中, 用方括号[

    2024年02月07日
    浏览(57)
  • 【python基础】复杂数据类型-列表类型(排序/长度/遍历)

    在创建的列表中,数据元素的排列顺序常常是无法预测的。这虽然在大多数情况下都是不可避免的,但经常需要以特定的顺序呈现信息。有时候希望保留列表数据元素最初的排列顺序,而有时候又需要调整排列顺序。python提供了很多列表数据元素排序的方式,可根据情况选用

    2024年02月07日
    浏览(44)
  • python入门基础-数据类型&有序序列和无序序列;

    python语言:定义成能快速完成工作的小工具 • 简洁、优雅、灵活 • 入门非常简单,但真正精通较为困难 • python可以编写服务器脚本,也可以编写常规网站 • 运行效率慢(相对于c,java) • 编译型语言(C、C++) • 执行前必须先进行编译,编译成底层机器码 • python不适合

    2024年02月08日
    浏览(35)
  • Python序列类型

    Python实用教程_spiritx的博客-CSDN博客 序列(Sequence)是有顺序的数据列,Python 有三种基本序列类型:list, tuple 和 range 对象,序列(Sequence)是有顺序的数据列,二进制数据(bytes) 和 文本字符串(str)也是序列类型,它们是特殊序列类型,会有一些特殊的性质和操作。 在实际

    2024年02月11日
    浏览(38)
  • python 内置序列类型概览

    Python 标准库用 C 实现了丰富的序列类型,列举如下: 容器序列 list、tuple 和 collections.deque 这些序列能存放不同类型的数据。 扁平序列 str、bytes、bytearray、memoryview 和 array.array,这类序列只能容纳一种类型。 容器序列存放的是它们所包含的任意类型的对象的引用,而扁平序列

    2024年01月22日
    浏览(40)
  • Python标准数据类型-List(列表)

    ✅作者简介:CSDN内容合伙人、阿里云专家博主、51CTO专家博主、新星计划第三季python赛道Top1🏆 📃个人主页:hacker707的csdn博客 🔥系列专栏:零基础入门篇 💬个人格言:不断的翻越一座又一座的高山,那样的人生才是我想要的。这一马平川,一眼见底的活,我不想要,我的人

    2024年02月09日
    浏览(57)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包