学习Python对分组和列表肯定不陌生,它们是python的组成基础,但往往我们在应用中很容易将这两者搞混,甚至有的时候辛辛苦苦敲完几百行代码结果报错,可错误的根源却是这简简单单的分组和列表。。。。。这是会让让人发疯的。。。。。
下面就分组和列表进行详细的区分:
Python中如何区分分组与列表
切片
切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。实现切片操作的语法格式如下:
sname[start:end:step]
参数说明:
- sname:表示序列的名称;
- start:表示切片的开始位置(包括该位置),如果不指定,则默认为0;
- end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度;
- step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。
Python内置函数
函数 | 作用 |
---|---|
list() | 将序列转换为列表 |
str() | 将序列转换为字符串 |
sum() | 计算元素和 |
reversed() | 反向序列中的元素 |
enumerate() | 将序列组合为一个索引序列,多用在for循环中 |
sorted() | 对元素进行排序 |
列表的创建和删除
- 同其他类型的python变量一样,创建列表时,也可以使用赋值运算符“=”直接将一个列表赋值给变量,语法格式如下:
listname = [element 1, element 2, element 3, ..., element n]
- 创建空列表
在python中,也可以创建空列表,例如,要创建一个名称为emptylist的空列表,可以使用下面的代码:
emptylist = []
- 创建数值列表
在python中,可以使用list()函数直接将range()函数循环出来的结果转换为列表。
list()函数的基本语法如下:list(data)
其中,data表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。 - 删除列表
对于已经创建的列表,不在使用时,可以使用del语句将其删除。语法格式如下:
Del listname
其中,listname为要删除列表的名称。
遍历列表
(1) 直接使用for循环实现
直接使用for 循环遍历列表,只能输出元素的值,语法格式如下:
for item in listname:
#输出 item
其中,item 用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可; listname 为列表名称。
(2) 使用for循环和enumerate()函数实现
使用for循环和enumerate()函数可以实现同时输出索引值和元素内容,语法格式如下:
for index, item in enumerate(listname):
#输出index和item
参数说明:
- index:用于保存元素的索引。
- item:用于保存获取到的元素值,要输出元素内容时,直接输出该变量即可。
- listname 为列表名称。
添加列表元素语法格式
listname.append(obj)
上面介绍的是向列表中添加一个元素,如果想要将一个列表中的全部元素添加到另一个列表中,可以使用列表对象的extend()方法实现。extend()方法的语法如下:
listname.extend(seq)
其中,listname 为要添加元素的列表名称,obj 为要添加到列表末尾的对象。seq为要添加的列表。语句执行后,seq 的内容将追加到listname的后面。
对列表进行统计和计算
(1) 获取指定元素出现的次数
使用列表对象的count()方法 可以获取指定元素在列表中的出现次数。基本语法格式如下:
listname.count(obj)
(2) 获取指定元素首次出现的下标
使用列表对象的index(方法可以获取指定元素在列表中首次出现的位置(即索引)。基本语法格式如下:
listname.index(obj)
参数说明:
- listname:表示列表的名称。
- obj:表示要判断是否存在的对象,这里只能进行精确匹配,即不能是元素值的一部分。
(3) 统计数值列表的元素和
在Python中,提供了sum()函数用于统计数值列表中各元素的和。语法格式如下:
sum(iterable[,start])
参数说明:
- iterable:表示要统计的列表。
- start:表示统计结果是从哪个数开始(即将统计结果加上start所指定的数),是可选参数,如果没有指定,默认值为0。
对列表进行排序
(1) 使用列表对象的sort0方法
列表对象提供了sort()方法用于对原列表中的元素进行排序。排序后原列表中的元素顺序将发生改变。列表对象的sort()方法的语法格式如下:
listname.sort(key=None,reverse=False)
参数说明:
- listname:表示要进行排序的列表。
- key: 表示指定从每个元素中提取一个用于比较的键(例如,设置“key-str.lower”表示在排序时不区分字母大小写)。
- reverse: 可选参数, 如果将其值指定为True,则表示降序排列:如果为False,则表示升序排列,默认为升序排列。
(2)使用内置的sorted()函数实现
在Python中,提供了一个内置的sorted(函数,用于对列表进行排序。使用该函数进行排序后,原列表的元素顺序不变。storted)函 数的语法格式如下:
sorted(iterable,key=None,reverse False)
参数说明:
- iterable:表示要进行排序的列表名称。
- key: 表示指定从每个元素中提取一个用于比较的键(例如,设置“key-str.lower"表示在排序时不区分字母大小写)。
- reverse: 可选参数,如果将其值指定为True,则表示降序排列;如果为False,则表示升序排列,默认为升序排列。
列表推导式
(1) 生成指定范围的数值列表
语法格式如下:
list = [Expression for var in range]
参数说明:
- list: 表示生成的列表 名称。
- Expression: 表达式,用于计算新列表的元素。
- var:循环变量。
- range: 采用range(函 数生成的range对象。
(2) 根据列表生成指定需求的列表
语法格式如下:
newlist = [Expression for var in list]
参数说明:
- newlist:表示新生成的列表名称。
- Expression: 表达式, 用于计算新列表的元素。
- var: 变量,值为后面列表的每个元素值。
- list: 用于生成新 列表的原列表。
(3) 从列表中选择符合条件的元素组成新的列表
语法格式如下:
newlist = [Expression for var in list if condition]
参数说明:
- newlist: 表示新生成的列表名称。
- Expression: 表达式, 用于计算新列表的元素。
- var: 变量, 值为后面列表的每 个元素值。
- list: 用于生成新列表的原列表。
- condition:条件表达式,用于指定筛选条件。
元组的创建和删除
(1) 使用赋值运算符直接创建元组
同其他类型的Python变量一样,创建元组时,也可以使用赋值运算符“=”直接将一个元组赋值给变量。语法格式如下:
tuplename = (element 1,element 2,element 3...ement n)
其中,tuplename
表示元组的名称,可以是任何符合Python命名规则的标识符; elemnet 1. elemnet 2. elemnet 3. elemnet n
表示元组中的元素,个数没有限制。
(2) 创建数值元组
在Python中,可以使用tuple()函数直接将range()函数循环出来的结果转换为数值元组。tuple()函 数的基本语法如下:
tuple(data)
其中,data表示可以转换为元组的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。
(3) 删除元组
对于已经创建的元组,不再使用时,可以使用del 语句将其删除。语法格式如下:
del tuplename
其中,tuplename 为要删除元组的名称。
——有用的话小伙伴们来个三连击,可以让更多的人看见它——
点赞,加关注
点赞,加关注
点赞,加关注