Python语法必备篇——Python中的 列表 【顶级入门教程 全面讲解】

简介: 目录📢 前言👑Python语法必备篇——列表 学习🎄创建列表💥第一种方法: 使用 [ ] 直接创建列表💥第二种方法:使用 list() 函数创建列表🔔访问列表中的值🎁列表的删除🎉列表元素的增删改查🏳️‍🌈列表添加元素🏳️‍🌈列表删除元素🏳️‍🌈列表修改元素🏳️‍🌈列表查找元素🎈Python列表脚本操作符🎋Python列表函数&方法🎅总结📆【游戏开发爱好者社区】活动进行中,每周打卡送书籍等礼品,期待你的加入

📢 前言

本文章是【Python零基础到入门专栏】学习的系列文章


Python学习专栏 传送门 在此:https://blog.csdn.net/zhangay1998/category_11086734.html


本专栏从 初学者的角度 来学习Python,这是最大的一个特点


如果喜欢文章记得 订阅本专栏 观看系列学习文章,当然也要记得关注博主哦!


本篇文章来说一下Python 的 列表,也是Python之路上一个必备的操作~


提示:本文的环境配置是Python3的开发环境,后续教程也都是Python3


👑Python语法必备篇——列表 学习



本篇文章来讲一下Python中的 列表,方便我们学习


在介绍列表之前,先来简单说一下序列


序列 指的是一块可存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(称为索引)访问它们。


在 Python 中,序列类型包括字符串、列表、元组、集合和字典


序列是 Python 中最基本的数据结构。


序列中的每个值都有对应的位置值,称之为索引,第一个索引是 0,第二个索引是 1,依此类推


其中 列表 是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。


而且 列表 的数据项不需要具有相同的类型


创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可


例如:

['CSDN', 'XiaoY', 1998, 100000]
["呆呆敲代码的小Y", "Unity", "Python"]
["a", "b", "c", "d"]

在一些 Python 教程中,经常用 list 代指列表,这是因为列表的数据类型就是 list,通过 type() 函数就可以知道,例如:

type( ["https://xiaoy.blog.csdn.net/", 666, [2,3,4] , 3.0] )
输出:<class 'list'>

image.png

🎄创建列表

简单的介绍了一下列表,那么接下来就看一下怎样创建列表

在 Python 中,创建列表的方法可分为下面两种

💥第一种方法: 使用 [ ] 直接创建列表

使用 [ ] 创建列表后,一般使用 = 将它赋值给某个变量,具体格式如下:

listname = [element1 , element2 , element3 , ... , elementn]

例如,下面定义的列表都是可以的:

num = [1, 2, 3, 4, 5, 6, 7]
name = ["呆呆敲代码的小Y", "https://xiaoy.blog.csdn.net"]
program = ["呆呆敲代码的小Y", "Python", "Unity"]
emptylist = [ ]

如果列表中没有数据,表明emptylist 是一个空列表。

💥第二种方法:使用 list() 函数创建列表

除了使用[ ]创建列表外,Python 还提供了一个内置的函数list()

使用它可以将其它数据类型转换为列表类型。例如:

#将字符串转换成列表
list1 = list("xiaoY")
print(list1)
#将元组转换成列表
tuple1 = ('Python', 'Unity', 'C#')
list2 = list(tuple1)
print(list2)
#将字典转换成列表
dict1 = {'a':100, 'b':42, 'c':9}
list3 = list(dict1)
print(list3)
#将区间转换成列表
range1 = range(1, 6)
list4 = list(range1)
print(list4)
#创建空列表
print(list())

上述代码运行结果:


[‘x’, ‘i’, ‘a’, ‘o’, ‘Y’]

[‘Python’, ‘Unity’, ‘C#’]

[‘a’, ‘b’, ‘c’]

[1, 2, 3, 4, 5]

[]


🔔访问列表中的值

列表是 Python 序列的一种,我们可以使用索引(Index)访问列表中的某个元素(得到的是一个元素的值),也可以使用切片访问列表中的一组元素(得到的是一个新的子列表)。

使用索引访问列表元素的格式为:

listname[i]

其中,listname 表示列表名字,i 表示索引值。列表的索引可以是正数,也可以是负数。

使用切片访问列表元素的格式为:

listname[start : end : step]

其中,listname 表示列表名字,start表示起始索引,end 表示结束索引,step 表示步长。

示例如下:

url = list("https://xiaoy.blog.csdn.net/")
#使用索引访问列表中的某个元素
print(url[3])  #使用正数索引
print(url[-4])  #使用负数索引
#使用切片访问列表中的一组元素
print(url[8: 12])  #使用正数切片
print(url[8: 12: 2])  #指定步长
print(url[-4: -2])  #使用负数切片

上述代码运行结果


p

n

[‘x’, ‘i’, ‘a’, ‘o’, ‘y’]

[‘x’, ‘a’, ‘y’]

[‘n’, ‘e’, ‘t’]


🎁列表的删除

对于已经创建的列表,如果不再使用,可以使用 del 关键字将其删除。


实际开发中并不经常使用 del 来删除列表


因为 Python 自带的垃圾回收机制会自动销毁无用的列表,即使开发者不手动删除,Python 也会自动将其回收。


del关键字的语法格式为:

del listname

其中,listname 表示要删除列表的名称。

删除列表示例如下:

intlist = [1, 45, 8, 34]
print(intlist)
del intlist

🎉列表元素的增删改查

实际开发中,经常需要对 Python 列表进行更新,包括向列表中添加元素修改表中元素 以及 删除元素

下面就来简单的演示一下这几种情况的使用方法

🏳️‍🌈列表添加元素

首先,我们在Python中可以使用 + 来进行添加元素

示例如下:

language = ["Python", "C++", "Java"]
birthday = [1991, 1998, 1995]
info = language + birthday
print("language =", language)
print("birthday =", birthday)
print("info =", info)

上述代码运行结果:


language = [‘Python’, ‘C++’, ‘Java’]

birthday = [1991, 1998, 1995]

info = [‘Python’, ‘C++’, ‘Java’, 1991, 1998, 1995]


从运行结果可以发现,使用 + 会生成一个新的列表,原有的列表不会被改变。


但是 + 更多的是用来拼接列表,而且执行效率并不高。


下面我们来说几个常用的添加元素的方法!


第一种方法:append()方法添加元素


append() 方法用于在列表的末尾追加元素,该方法的语法格式如下:

listname.append(obj)

其中,listname 表示要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等。

示例如下:

list1 = ['Python', 'C#', 'Java']
#追加元素
list1 .append('Unity')
print(list1 )
#追加元组,整个元组被当成一个元素
t = ('JavaScript', 'C++', 'Go')
list1 .append(t)
print(list1 )
#追加列表,整个列表也被当成一个元素
list1 .append(['Ruby', 'SQL'])
print(list1 )

上述代码输出结果:


[‘Python’, ‘C#’, ‘Java’, ‘Unity’]

[‘Python’, ‘C#’, ‘Java’, ‘Unity’, (‘JavaScript’, ‘C++’, ‘Go’)]

[‘Python’, ‘C#’, ‘Java’, ‘Unity’, (‘JavaScript’, ‘C++’, ‘Go’), [‘Ruby’, ‘SQL’]]


第二种方法:extend()方法添加元素


extend() 和 append() 的不同之处在于:extend() 不会把列表或者元祖视为一个整体,而是把它们包含的元素逐个添加到列表中。


extend() 方法的语法格式如下:

listname.extend(obj)

其中,listname 指的是要添加元素的列表;obj 表示到添加到列表末尾的数据,它可以是单个元素,也可以是列表、元组等,但不能是单个的数字。

示例如下:

list1 = ['Python', 'C#', 'Java']
#追加元素
list1 .extend('Unity')
print(list1 )
#追加元组,元祖被拆分成多个元素
t = ('JavaScript', 'C++', 'Go')
list1 .extend(t)
print(list1)
#追加列表,列表也被拆分成多个元素
list1 .extend(['Ruby', 'SQL'])
print(list1)

上述代码输出结果:


[‘Python’, ‘C#’, ‘Java’, ‘Unity’]

[‘Python’, ‘C#’, ‘Java’, ‘Unity’, ‘JavaScript’, ‘C++’, ‘Go’]

[‘Python’, ‘C#’, ‘Java’, ‘Unity’, ‘JavaScript’, ‘C++’, ‘Go’, ‘Ruby’, ‘SQL’]


第三种方法:insert()方法插入元素


append() 和 extend() 方法只能在列表末尾插入元素


如果希望在列表中间某个位置插入元素,那么可以使用 insert() 方法。


insert() 的语法格式如下:

listname.insert(index , obj)

其中,index 表示指定位置的索引值。insert() 会将 obj 插入到 listname 列表第 index 个元素的位置。

当插入列表或者元祖时,insert()也会将它们视为一个整体,作为一个元素插入到列表中,这一点和 append() 是一样的。

示例代码如下:

list1 = ['Python', 'C#', 'Java']
#插入元素
list1.insert(1, 'Unity')
print(list1 )
#插入元组,整个元祖被当成一个元素
t = ('C++', 'Go')
list1.insert(2, t)
print(list1)
#插入列表,整个列表被当成一个元素
list1.insert(3, ['Ruby', 'SQL'])
print(list1)
#插入字符串,整个字符串被当成一个元素
list1.insert(0, "https://xiaoy.blog.csdn.net")
print(list1)

上述代码输出结果:


[‘Python’, ‘Unity’, ‘C#’, ‘Java’]

[‘Python’, ‘Unity’, (‘C++’, ‘Go’), ‘C#’, ‘Java’]

[‘Python’, ‘Unity’, (‘C++’, ‘Go’), [‘Ruby’, ‘SQL’], ‘C#’, ‘Java’]

[‘https://xiaoy.blog.csdn.net’, ‘Python’, ‘Unity’, (‘C++’, ‘Go’), [‘Ruby’, ‘SQL’], ‘C#’, ‘Java’]


insert() 主要用来在列表的中间位置插入元素,如果是希望在列表的末尾追加元素,使用 append() 和 extend() 的效果更佳。


🏳️‍🌈列表删除元素

在 Python 列表中删除元素主要分为以下 3 种情况:


根据目标元素所在位置的索引进行删除,可以使用 del 关键字或者 pop() 方法;

根据元素本身的值进行删除,可使用列表(list类型)提供的 remove() 方法;

将列表中所有元素全部删除,可使用列表(list类型)提供的 clear() 方法。

del:根据索引值删除元素

del 可以删除列表中的单个元素,格式为:

del listname[index]

其中,listname 表示列表名称,index 表示元素的索引值。

del 也可以删除中间一段连续的元素,格式为:

del listname[start : end]

其中,start 表示起始索引,end 表示结束索引。

del 会删除从索引 startend 之间的元素,不包括 end 位置的元素。

示例如下:

lang = ["Python", "C++", "Java", "PHP", "Ruby", "MATLAB"]
#使用 del 删除单个列表元素:
del lang[2]
print(lang)
#使用 del 删除一段连续的元素
del lang[1: 4]
print(lang)

上述代码输出结果如下:

[‘Python’, ‘C++’, ‘PHP’, ‘Ruby’, ‘MATLAB’]

[‘Python’, ‘MATLAB’]

pop():根据索引值删除元素

pop() 方法用来删除列表中指定索引处的元素,具体格式如下:

listname.pop(index)

其中,listname 表示列表名称,index 表示索引值。

如果不写 index 参数,默认会删除列表中的最后一个元素,类似于数据结构中的“出栈”操作。

示例如下:

nums = [123, 666, 888, 256, 36, 10000, 70000]
nums.pop(3)
print(nums)
nums.pop()
print(nums)

上述代码输出结果如下:


[123, 666, 256, 36, 10000, 70000]

[123, 666, 256, 36, 10000]


remove():根据元素值进行删除


除了 del 关键字,Python 还提供了 remove() 方法,该方法会根据元素本身的值来进行删除操作。


需要注意的是,remove() 方法只会删除第一个和指定值相同的元素,而且必须保证该元素是存在的,否则会引发 ValueError 错误。


示例如下:

nums = [40, 36, 89, 2, 36, 100, 7]
#第一次删除36
nums.remove(36)
print(nums)
#第二次删除36
nums.remove(36)
print(nums)
#删除78
nums.remove(78)
print(nums)

上述代码输出结果如下:


[40, 89, 2, 36, 100, 7]

[40, 89, 2, 100, 7]

Traceback (most recent call last):

File “Desktop\demo.py”, line 9, in

nums.remove(78)

ValueError: list.remove(x): x not in list


最后一次删除,因为 78 不存在导致报错,所以在使用 remove() 删除元素时最好提前判断一下,防止程序报错。


clear():删除列表所有元素


clear() 用来删除列表的所有元素,也即清空列表,请看下面的代码:

url = list("https://xiaoy.blog.csdn.net/")
url.clear()
print(url)

运行结果:

[]

🏳️‍🌈列表修改元素

列表修改元素有两种情况,分别是 修改单个元素修改一组元素

修改单个元素非常简单,直接对元素赋值即可。

实例代码如下:

nums = [40, 36, 89, 2, 36, 100, 7]
nums[2] = -26  #使用正数索引
nums[-3] = -66.2  #使用负数索引
print(nums)

运行结果:

[40, 36, -26, 2, -66.2, 100, 7]

如果对空切片(slice)赋值,就相当于插入一组新的元素:

nums = [40, 36, 89, 2, 36, 100, 7]
#在4个位置插入元素
nums[4: 4] = [-77, -52.5, 999]
print(nums)

运行结果:

[40, 36, 89, 2, -77, -52.5, 999, 36, 100, 7]

使用切片语法赋值时,Python 不支持单个值,例如下面的写法就是错误的:

nums[4: 4] = -77

但是如果使用字符串赋值,Python 会自动把字符串转换成序列,其中的每个字符都是一个元素,请看下面的代码:

s = list("Hello")
s[2:4] = "XYZ"
print(s)

运行结果:

[‘H’, ‘e’, ‘X’, ‘Y’, ‘Z’, ‘o’]

使用切片语法时也可以指定步长(step 参数),但这个时候就要求所赋值的新元素的个数与原有元素的个数相同,例如:

nums = [40, 36, 89, 2, 36, 100, 7]
#步长为2,为第1、3、5个元素赋值
nums[1: 6: 2] = [0.025, -99, 20.5]
print(nums)

运行结果:


[40, 0.025, 89, -99, 36, 20.5, 7]


🏳️‍🌈列表查找元素

说完了列表的增删改,那就到了最后这个 查找元素 的方法啦!


Python 列表(list)提供了 index() 和 count() 方法,它们都可以用来查找元素。


index() 方法用来查找某个元素在列表中出现的位置(也就是索引),如果该元素不存在,则会导致 ValueError 错误,所以在查找之前最好使用 count() 方法判断一下。


index() 的语法格式为:

listname.index(obj, start, end)

其中,listname 表示列表名称,obj 表示要查找的元素,start 表示起始位置,end 表示结束位置。


start 和 end 参数用来指定检索范围:


start 和 end 可以都不写,此时会检索整个列表;

如果只写 start 不写 end,那么表示检索从 start 到末尾的元素;

如果 start 和 end 都写,那么表示检索 start 和 end 之间的元素。

index() 方法会返回元素所在列表中的索引值。


示例代码如下:

nums = [40, 36, 89, 2, 36, 100, 7, -20.5, -999]
#检索列表中的所有元素
print( nums.index(2) )
#检索3~7之间的元素
print( nums.index(100, 3, 7) )
#检索4之后的元素
print( nums.index(7, 4) )
#检索一个不存在的元素
print( nums.index(55) )

上述代码输出结果:


3

5

6

Traceback (most recent call last):

File “Desktop\demo.py”, line 9, in

print( nums.index(55) )

ValueError: 55 is not in list


count() 方法用来统计某个元素在列表中出现的次数,基本语法格式为:

listname.count(obj)

其中,listname 代表列表名,obj 表示要统计的元素。


如果 count() 返回 0,就表示列表中不存在该元素,所以 count() 也可以用来判断列表中的某个元素是否存在。


实例代码如下:

nums = [40, 36, 89, 2, 36, 100, 7, -20.5, 36]
#统计元素出现的次数
print("36出现了%d次" % nums.count(36))
#判断一个元素是否存在
if nums.count(100):
    print("列表中存在100这个元素")
else:
    print("列表中不存在100这个元素")

输出结果:

36出现了3次

列表中存在100这个元素

🎈Python列表脚本操作符

列表对 + 和 * 的操作符与字符串相似。+ 号用于组合列表,* 号用于重复列表。

image.png

🎋Python列表函数&方法

Python包含以下列表函数:image.pngPython包含以下列表方法:image.png🎅总结

本文对Python中的列表做了一个详细的介绍。

列表在Python中很常用,是一个很重要的数据类型。

本文中介绍了列表的创建、访问、删除和列表元素的增删改查。

还包括一下常用的列表脚本操作符,列表的常用函数和方法。

如果哪个地方描述的不对也希望大家在评论区指出一起学习!

觉得博主写的还不错记得三连支持一波哦~ 咱们下次再见啦!


相关文章
|
2月前
|
IDE 数据挖掘 开发工具
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
Python作为一种广受欢迎的高级编程语言,以其简洁的语法和强大的功能吸引了众多初学者和专业开发者
44 7
|
26天前
|
索引 Python
Python列表
Python列表。
47 8
|
28天前
|
C语言 Python
[oeasy]python054_python有哪些关键字_keyword_list_列表_reserved_words
本文介绍了Python的关键字列表及其使用规则。通过回顾`hello world`示例,解释了Python中的标识符命名规则,并探讨了关键字如`if`、`for`、`in`等不能作为变量名的原因。最后,通过`import keyword`和`print(keyword.kwlist)`展示了Python的所有关键字,并总结了关键字不能用作标识符的规则。
33 9
|
1月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
64 14
|
1月前
|
数据挖掘 大数据 数据处理
python--列表list切分(超详细)
通过这些思维导图和分析说明表,您可以更直观地理解Python列表切分的概念、用法和实际应用。希望本文能帮助您更高效地使用Python进行数据处理和分析。
71 10
|
2月前
|
存储 索引 Python
Python 的基本语法
这些是 Python 的基本语法要素,掌握它们是学习和使用 Python 的基础。通过不断地实践和应用,你将能够更深入地理解和熟练运用这些语法知识,从而编写出高效、简洁的 Python 代码
89 5
|
2月前
|
数据处理 开发者 Python
Python中的列表推导式:简洁高效的数据处理
在编程世界中,效率和可读性是代码的两大支柱。Python语言以其独特的简洁性和强大的表达力,为开发者提供了众多优雅的解决方案,其中列表推导式便是一个闪耀的例子。本文将深入探讨列表推导式的使用场景、语法结构及其背后的执行逻辑,带你领略这一特性的魅力所在。
|
2月前
|
存储 Python
Python编程入门:理解基础语法与编写简单程序
本文旨在为初学者提供一个关于如何开始使用Python编程语言的指南。我们将从安装Python环境开始,逐步介绍变量、数据类型、控制结构、函数和模块等基本概念。通过实例演示和练习,读者将学会如何编写简单的Python程序,并了解如何解决常见的编程问题。文章最后将提供一些资源,以供进一步学习和实践。
62 1
|
2月前
|
开发者 Python
探索Python中的列表推导式:简洁而强大的工具
【10月更文挑战第41天】 在编程的世界中,效率与简洁是永恒的追求。本文将深入探讨Python编程语言中一个独特且强大的特性——列表推导式(List Comprehension)。我们将通过实际代码示例,展示如何利用这一工具简化代码、提升性能,并解决常见编程问题。无论你是初学者还是资深开发者,掌握列表推导式都将使你的Python之旅更加顺畅。
|
2月前
|
Python
探索Python中的列表推导式
【10月更文挑战第38天】本文深入探讨了Python中强大而简洁的编程工具——列表推导式。从基础使用到高级技巧,我们将一步步揭示如何利用这个特性来简化代码、提高效率。你将了解到,列表推导式不仅仅是编码的快捷方式,它还能帮助我们以更加Pythonic的方式思考问题。准备好让你的Python代码变得更加优雅和高效了吗?让我们开始吧!