版权声明:本文为 小异常 原创文章,非商用自由转载-保持署名-注明出处,谢谢!
本文网址:https://blog.csdn.net/sun8112133/article/details/95882859
文章目录
- 一、序列分类
- 二、修改序列
- 1、通过索引直接修改元素
- 2、通过切片修改元素
- 3、通过切片步长修改元素
- 三、删除元素
- 1、通过 del 删除指定索引的元素
- 2、通过切片删除元素
- 3、通过切片步长删除元素
- 四、序列方法(只对可变序列使用)
- 五、遍历序列
- 1、普通遍历方式(通过索引遍历)
- 2、while循环遍历
- 3、for循环遍历
- 六、range()函数
序列(sequence) 是Python中最基本的一种数据结构。它用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)。
序列 中的数据会按照添加的顺序来分配索引。
一、序列分类
- 可变序列(序列中的元素可以改变)
- 不可变序列(序列中的元素不能改变)
- 注意: 只能修改可变序列的元素,而不可变序列的元素是不能改变的!!如果想改变不可变序列中的元素,可以使用
list()
函数把不可变序列 转为 列表数据类型。
s = 'hello'
s = list(s)
print(type(s))
#
二、修改序列
1、通过索引直接修改元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 修改索引为0的元素
stus[0] = 'sunwukong'
print(stus)
# ['sunwukong', '猪八戒', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
2、通过切片修改元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 使用新的元素替换旧元素
stus[0:2] = ['牛魔王','红孩儿']
print(stus)
# ['牛魔王', '红孩儿', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 如果新元素的个数比旧元素多,会依次排列
stus[0:2] = ['牛魔王','红孩儿','二郎神']
print(stus)
# ['牛魔王', '红孩儿', '二郎神', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 向索引为0的位置插入元素
stus[0:0] = ['牛魔王']
print(stus)
# ['牛魔王', '牛魔王', '红孩儿', '二郎神', '沙和尚', '唐僧', '蜘蛛精', '白骨精']
3、通过切片步长修改元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过步长修改元素
stus[::2] = ['牛魔王','红孩儿','二郎神']
print(stus)
# ['牛魔王', '猪八戒', '红孩儿', '唐僧', '二郎神', '白骨精']
三、删除元素
1、通过 del 删除指定索引的元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 删除索引为2的元素
del stus[2]
print(stus)
# ['孙悟空', '猪八戒', '唐僧', '蜘蛛精', '白骨精']
2、通过切片删除元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过切片直接删除(方式一)
del stus[0:2]
print(stus)
# ['沙和尚', '唐僧', '蜘蛛精', '白骨精']
# 通过切片直接删除(方式二)
stus[1:3] = []
print(stus)
# ['沙和尚', '白骨精']
3、通过切片步长删除元素
# 创建一个列表
stus = ['孙悟空','猪八戒','沙和尚','唐僧','蜘蛛精','白骨精']
# 通过切片步长删除元素
del stus[::2]
print(stus)
# ['猪八戒', '唐僧', '白骨精']
四、序列方法(只对可变序列使用)
方法名称 |
方法说明 |
---|
append() |
向序列的最后添加一个元素 |
insert() |
向序列的指定位置插入一个元素 参数:1.要插入的位置 2.要插入的元素 |
extend() |
使用新的序列来扩展当前序列,需要一个序列作为参数,它会将该序列中的元素添加到当前列表中 |
clear() |
清空序列 |
pop() |
根据索引删除并返回被删除的元素 |
remove() |
删除指定值的元素,如果相同值的元素有多个,只会删除第一个,没有返回值 |
reverse() |
用来反转序列 |
sort() |
用来对序列中的元素进行排序,默认是升序 排列(从小到大排序) |
# 序列方法
my_list = [1,2,3,4,5]
# append(元素):向后添加一个元素
my_list.append('abc')
print(my_list)
# [1, 2, 3, 4, 5, 'abc']
# insert(索引, 元素):向指定位置添加一个元素
my_list.insert(2, 'qq')
print(my_list)
# [1, 2, 'qq', 3, 4, 5, 'abc']
# extend(序列):将一个序列中的全部元素添加到该序列的末尾
new_list = [11, 22, 33]
my_list.extend(new_list)
print(my_list)
# [1, 2, 'qq', 3, 4, 5, 'abc', 11, 22, 33]
# clear():清空序列
# my_list.clear()
# print(my_list)
# []
# pop(索引):根据索引删除并返回被删除的元素
a = my_list.pop(2)
print(a)
# qq
print(my_list)
# [1, 2, 3, 4, 5, 'abc', 11, 22, 33]
# remove(值):删除指定值的元素,如果相同值的元素有多个,
# 只会删除第一个,没有返回值
my_list = [1,2,3,4,1,2,1]
my_list.remove(1)
print(my_list)
# [2, 3, 4, 1, 2, 1]
# reverse():反转列表
my_list.reverse()
print(my_list)
# [1, 2, 1, 4, 3, 2]
# sort():用来对列表中的元素进行排序,元素类型必须一致,
# 默认是升序排列(从小到大排序)
my_list = ['a','b']
my_list.sort()
print(my_list)
五、遍历序列
1、普通遍历方式(通过索引遍历)
# 创建一个列表
stus = [1,2,3,4]
# 通过索引获取每一个元素
print(stus[0])
print(stus[1])
print(stus[2])
print(stus[3])
2、while循环遍历
# 创建一个列表
stus = [1,2,3,4]
# 定义变量
i = 0
while i print(stus[i])
i += 1
3、for循环遍历
# 创建一个列表
stus = [1,2,3,4]
# 遍历列表
for s in stus:
print(s)
六、range()函数
range()函数 用来生成一个自然数的序列。
1、语法格式
range(起始位置,结束位置,步长)
- 参数
- 起始位置:可以省略,默认是0
- 结束位置
- 步长:可以省略,默认是1
2、使用
通过 range()
可以创建一个执行指定次数的 for循环。
for i in range(10):
print(i, end=' ')
3、案例代码
# 生成自然数序列
r = range(5)
print(list(r))
# [0, 1, 2, 3, 4]
r = range(0,10,2)
print(list(r))
# [0, 2, 4, 6, 8]
r = range(10,0,-1)
print(list(r))
# [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
博客中若有不恰当的地方,请您一定要告诉我。前路崎岖,望我们可以互相帮助,并肩前行!