Python中如何区分分组与列表

学习Python对分组和列表肯定不陌生,它们是python的组成基础,但往往我们在应用中很容易将这两者搞混,甚至有的时候辛辛苦苦敲完几百行代码结果报错,可错误的根源却是这简简单单的分组和列表。。。。。这是会让让人发疯的。。。。。
下面就分组和列表进行详细的区分:

切片

切片操作是访问序列中元素的另一种方法,它可以访问一定范围内的元素。通过切片操作可以生成一个新的序列。实现切片操作的语法格式如下:

sname[start:end:step]

参数说明:

  • sname:表示序列的名称;
  • start:表示切片的开始位置(包括该位置),如果不指定,则默认为0;
  • end:表示切片的截至位置(不包括该位置),如果不指定,则默认为序列的长度;
  • step:表示切片的步长,如果省略,则默认为1,当省略该步长时,最后一个冒号也可以省略。

Python内置函数

函数 作用
list() 将序列转换为列表
str() 将序列转换为字符串
sum() 计算元素和
reversed() 反向序列中的元素
enumerate() 将序列组合为一个索引序列,多用在for循环中
sorted() 对元素进行排序

列表的创建和删除

  1. 同其他类型的python变量一样,创建列表时,也可以使用赋值运算符“=”直接将一个列表赋值给变量,语法格式如下:
listname = [element 1, element 2, element 3, ..., element n]
  1. 创建空列表
    在python中,也可以创建空列表,例如,要创建一个名称为emptylist的空列表,可以使用下面的代码:
emptylist = []
  1. 创建数值列表
    在python中,可以使用list()函数直接将range()函数循环出来的结果转换为列表。
    list()函数的基本语法如下:list(data)
    其中,data表示可以转换为列表的数据,其类型可以是range对象、字符串、元组或者其他可迭代类型的数据。
  2. 删除列表
    对于已经创建的列表,不在使用时,可以使用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 为要删除元组的名称。

——有用的话小伙伴们来个三连击,可以让更多的人看见它——

点赞,加关注

点赞,加关注

点赞,加关注

发布了27 篇原创文章 · 获赞 46 · 访问量 6555

猜你喜欢

转载自blog.csdn.net/ywsydwsbn/article/details/105225205