Python序列

本文详细介绍了Python中的序列,重点讨论了列表的创建、操作、切片以及序列的通用操作。内容包括列表的索引、长度获取、切片语法、列表的元素修改和删除,以及元组、字符串等不可变序列的特点。此外,还讲解了序列的其他类型如字符串的处理方法和正则表达式的匹配函数。
摘要由CSDN通过智能技术生成

序列

列表

列表是Python中的一个对象
对象(object)就是内存中专门用来存储数据的一块区域
之前我们学习的对象,像数值,它只能保存一个单一的数据
列表中可以保存多个有序的数据
列表是用来存储对象的对象
列表的使用:
1.列表的创建
2.操作列表中的数据

创建列表,通过[]来创建列表

my_list = [] # 创建了一个空列表
print(my_list , type(my_list))

列表存储的数据,我们称为元素
一个列表中可以存储多个元素,也可以在创建列表时,来指定列表中的元素
当向列表中添加多个元素时,多个元素之间使用,隔开

my_list = [10,20,30,40,50] # 创建了一个保护有5个元素的列表
#列表中可以保存任意的对象
my_list = [10,'hello',True,None,[1,2,3],print]

列表中的对象都会按照插入的顺序存储到列表中,
第一个插入的对象保存到第一个位置,第二个保存到第二个位置
我们可以通过索引(index)来获取列表中的元素

索引是元素在列表中的位置,列表中的每一个元素都有一个索引
索引是从0开始的整数,列表第一个位置索引为0,第二个位置索引为1,第三个位置索引为2,以此类推
my_list = [10,20,30,40,50]

通过索引获取列表中的元素

语法:my_list[索引] my_list[0]
print(my_list[4])
如果使用的索引超过了最大的范围,会抛出异常
print(my_list[5]) IndexError: list index out of range

获取列表的长度,列表中元素的个数
len()函数,通过该函数可以获取列表的长度
获取到的长度的值,是列表的最大索引 + 1
print(len(my_list)) # 5

切片

切片指从现有列表中,获取一个子列表
创建一个列表,一般创建列表时,变量的名字会使用复数

stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']

列表的索引可以是负数
如果索引是负数,则从后向前获取元素,-1表示倒数第一个,-2表示倒数第二个 以此类推
print(stus[-2])

通过切片来获取指定的元素
语法:列表[起始:结束]
通过切片获取元素时,会包括起始位置的元素,不会包括结束位置的元素.左闭右开
做切片操作时,总会返回一个新的列表,不会影响原来的列表
起始和结束位置的索引都可以省略不写
如果省略结束位置,则会一直截取到最后
如果省略起始位置,则会从第一个元素开始截取
如果起始位置和结束位置全部省略,则相当于创建了一个列表的副本

stus = ['a', 'e', 'c', 'f ','b']
print(stus[1:])
print(stus[:3])
print(stus[:])
print(stus)
result
['e', 'c', 'f ', 'b']
['a', 'e', 'c']
['a', 'e', 'c', 'f ', 'b']
['a', 'e', 'c', 'f ', 'b']

通过切片来获取另一种语法
语法:列表[起始:结束:步长]
步长表示,每次获取元素的间隔,默认值是1
print(stus[0:5:3])
步长不能是0,但是可以是负数
print(stus[::0]) ValueError: slice step cannot be zero
如果是负数,则会从列表的后部向前边取元素
print(stus[::-1])

列表的通用操作

+和 *
+可以将两个列表拼接为一个列表
*可以将列表重复指定的次数

arr1=[1,2,4]
arr2=[2,5,8]
print(arr1+arr2)
#result:
[1, 2, 4, 2, 5, 8]
arr1=[1,2,4]
print(arr1*3)
#result:
[1, 2, 4, 1, 2, 4, 1, 2, 4]

in 和 not in

in用来检查指定元素是否存在于列表中
如果存在,返回True,否则返回False
not in用来检查指定元素是否不在列表中
如果不在,返回True,否则返回False

stus=['mike','john','peter','niu','li','blue']
print('mike'in stus)
print('zhang'not in stus)
#result:
# True
# True

len()获取列表中的元素的个数
min() 获取列表中的最小值
max() 获取列表中的最大值

stus=['mike','john','peter','niu','li','blue']
print(len(stus))
#result:
6

s.index()和s.count()
两个方法(method),方法和函数基本上是一样,只不过方法必须通过 对象.方法() 的形式调用
xxx.index() 方法实际上就是和对象关系紧密的函数
s.index() 获取指定元素在列表中的第一次出现时索引(有可能列表中会出现很多次)

stus=['mike','john','peter','niu','li','blue','peter']
print(stus.index('peter'))
#result:
#2

index(,,)的第二个参数,表示查找的起始位置 , 第三个参数,表示查找的结束位置,第三个位置要是不设置那么就一直找到最后。

stus=['mike','john','peter','niu','li','blue','peter']
print(stus.index('peter',4,))
#result:
#6

s.count() 统计指定元素在列表中出现的次数

stus=['mike','john','peter','niu','li','blue','peter']
print(stus.count('peter'))
#result:
2

序列

序列是Python中最基本的一种数据结构
数据结构指计算机中数据存储的方式
序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)
并且序列中的数据会按照添加的顺序来分配索引
序列的分类:
可变序列(序列中的元素可以改变):
> 列表(list)
不可变序列(序列中的元素不能改变):
> 字符串(str)
元组(tuple)

修改元素

直接通过索引来修改元素

stus=['mike','john','peter','niu','li','blue','peter']
stus[1]=123
stus[3]='laowang'
print(stus)
#result:
['mike', 123, 'peter', 'laowang', 'li', 'blue', 'peter']

通过del来删除元素

stus=['mike','john','peter','niu','li','blue','peter']
del stus[0]#删除索引为0的元素
print(stus)
#result
['john', 'peter', 'niu', 'li', 'blue', 'peter']

通过切片来修改列表,在给切片进行赋值时,只能使用序列

stus=['mike','john','peter','niu','li','blue','peter']
stus[0:2]=[123,456,'abc',print]
print(stus)
#result
[123, 456, 'abc', <built-in function print>, 'peter', 'niu', 'li', 'blue', 'peter']

stus[0:0]=['bulan','coffe']#向索引为0的位置插入元素
print(stus)
#result
['bulan', 'coffe', 123, 456, 'abc', <built-in function print>, 'peter', 'niu', 'li', 'blue', 'peter']

stus[::3]=[121
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值