Python3之序列类型及操作(学习总结)

本文详细介绍了Python中的序列类型,包括字符串、元组和列表的特点及应用。涵盖了序列类型的定义、操作方法、常见函数以及实例演示等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

序列类型:

  • 字符串类型
  • 元组类型
  • 列表类型

1、序列类型的定义

  • 序列是一个基类类型
  • 序列是一维元素向量,元素类型可以不同
  • 元素间由序号引导,通过下标访问序列的特定元素

在这里插入图片描述

2、序列处理函数及方法

在这里插入图片描述

>> ls = ["python",123,"abc"]
>> ls[::-1]					#直接反转
输出结果为:['abc',123,'python']

>> s = "python"
>> s[::-1]
输出结果为:'nohtyp'

在这里插入图片描述

>> ls = ["python",123,"abc"]
>> len(ls)
输出结果为:3

>> s = "python"
>>max(s)
输出结果为:'y'

3、元组类型

  • 元组是一种序列类型,元素一旦创建就不能被修改
  • 使用小括号()或tuple()创建,元素间用逗号,分隔
  • 可以使用或不使用小括号
  • 函数有多个返回值的时候,返回值的类型为元组类型
>>creature = "cat","dog","tiger"
>>creature
输出结果为:('cat','dog','tiger')
>>creature[::-1]
输出结果为:('tiger','dog','cat')

>>color = (0x001100,"blue",creature)
>>color
输出结果为:(4352,'blue',('cat','dog','tiger'))
>>color[-1][2]
输出结果为:'tiger'
>> for item in tp:
		<语句块>

4、列表类型的定义

  • 列表是一种序列类型,创建后可以随意被修改
  • 使用方括号[]或list()创建,元素间用逗号,分隔(set()也可以创建)
  • 列表中各元素类型可以不同,无长度限制
>>ls =["cat","dog","tiger",1024]
>>ls
输出结果为:['cat','dog','tiger',1024]
>>lt=ls
>>lt
输出结果为:['cat','dog','tiger',1024]

!!!注意,其中的ls 和 lt指向的是同一个列表,方括号 [] 为真正创建一个列表,赋值仅传递引用。

5、列表类型操作函数和方法

在这里插入图片描述

>>ls = ["cat","dog","tiger",1024]
>>ls[1:2]=[1,2,3,4]	
输出结果为:['cat',1,2,3,4,'tiger',1024]
>>del ls[::3]
输出结果为:[1,2,4,'tiger']
>>ls*2
输出结果为:[1,2,4,'tiger',1,2,4,'tiger']

在这里插入图片描述

>>ls = ["cat","dog","tiger",1024]
>>ls.append(1234)
输出结果为:['cat','dog','tiger',1023,1234]
>>ls.insert(0,"pig")
输出结果为:['pig','cat','dog','tiger',1024,1234]
>>ls.reverse()
输出结果为:[1234,1024, 'tiger', 'dog', 'cat', 'pig']
>>for item in ls:
		<语句块>
  • 定义空列表 :lt=[]
  • 向lt新增加5个元素:lt+=[1,2,3,4,5]
  • 修改lt中第2个元素:lt[2]=6;
  • 向lt中第2个位置增加一个元素:lt.insert(2,1)
  • 从lt中第1个位置删除一个元素:del lt[1]
  • 删除lt中第1-3位置元素:del lt[1:4]
  • 判断lt中是否包含数字0: 0 in lt
  • 向lt新增数字0:lt.append(0)
  • 返回数字0所在lt中的索引:lt.index(0)
  • lt的长度:len(lt)
  • lt中的最大元素:max(lt)
  • 清空lt:lt.clear()

如果不希望被改变的的话,就转化成元组类型
ls = [“cat”,“dog”,“tiger”,1024]
lt.tuple(ls)
lt
输出结果为:(‘cat’,‘dog’,‘tiger’,1024)


补充:

1、列表

你创建的大多数列表都将是动态的,这意味着列表创建后,将随着程序的运行增删元素。例如,你创建一个游戏,要求玩家射杀从天而降的外星人;为此,可在开始时将一些外星人存储在列表中,然后每当有外星人被射杀时,都将其从列表中删除,而每次有新的外星人出现在屏幕上时,都将其添加到列表中。在整个游戏运行期间,外星人列表的长度将不断变化。

有时候,你要将元素从列表中删除,并接着使用它的值。例如,你可能需要获取刚被射杀的外星人的 x 和 y 坐标,以便在相应的位置显示爆炸效果;在Web应用程序中,你可能要将用户从活跃成员列表中删除,并将其加入到非活跃成员列表中。

方法pop() 可删除列表末尾的元素,并让你能够接着使用它。术语弹出 (pop)源自这样的类比:列表就像一个栈,而删除列表末尾的元素相当于弹出栈顶元素。

实际上,你可以使用pop() 来删除列表中任何位置的元素,只需在括号中指定要删除的元素的索引即可。

如果你要从列表中删除一个元素,且不再以任何方式使用它,就使用del 语句;如果你要在删除元素后还能继续使用它,就使用方法pop()

2、方法sort

方法sort() =永久性地修改了列表元素的排列顺序。

还可以按与字母顺序相反的顺序排列列表元素,只需向sort() 方法传递参数reverse=True

要保留列表元素原来的排列顺序,同时以特定的顺序呈现它们,可使用函数sorted() 。函数sorted() 让你能够按特定顺序显示列表元素,同时不影响它们在列表中的原始排列顺序。

3、使用range创建数字列表

要创建数字列表,可使用函数list() 将range() 的结果直接转换为列表。
如果将range() 作为list() 的参数,输出将为一个数字列表。
>>>numbers = list(range(1,6))
>>>print(numbers)
>[1, 2, 3, 4, 5]

>>>even_numbers = list(range(2,11,2))
>>>print(even_numbers)
>>[2, 4, 6, 8, 10]

4、对数字列表执行简单的统计运算

>>>digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
>>> min(digits)
0
>>> max(digits)
9
>>> sum(digits)
45

5、列表解析

将for 循环和创建新元素的代码合并成一行,并自动附加新元素。

>>>squares = [value**2 for value in range(1,11)]    	#这里的for 语句末尾没有冒号
>>>print(squares)
要使用这种语法,首先指定一个描述性的列表名,如squares ;
然后,指定一个左方括号,并定义一个表达式,用于生成你要存储到列表中的值。
表达式为value**2 ,它计算平方值。接下来,编写一个for 循环,用于给表达式提供值,再加上右方括号。
for 循环为for value in range(1,11) ,它将值1~10提供给表达式value**2>[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

6、切片

负数索引返回离列表末尾相应距离的元素,因此你可以输出列表末尾的任何切片。
例如,如果你要输出名单上的最后三名队员,可使用切片players[-3:] 。

在很多情况下,切片都很有用。例如,编写游戏时,你可以在玩家退出游戏时将其最终得分加入到一个列表中。然后,为获取该玩家的三个最高得分,你可以将该列表按降序排列,再创建一个只包含前三个得分的切片。处理数据时,可使用切片来进行批量处理;编写Web应用程序时,可使用切片来分页显示信息,并在每页显示数量合适的信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值