一、序列
内容连续,有序,可使用下标索引的一类数据容器
列表、元组和字符串均可以视为序列
二、序列切片
序列支持切片,即:列表、元组和字符串均支持切片操作
(一)切片
从一个序列中,取出一个子序列
(二)语法
序列 [ 起始下标: 结束下标: 步长 ]
表示在序列中,从指定位置开始,依次取出元素,到指定位置结束,得到一个新序列:
- 起始下标表示从何处开始,可以留空(不填入参数),留空视作从头开始
- 结束下标(不含)表示从何处结束,可以留空,留空视作截取到结尾
- 步长表示,依次取元素的的间隔
- 步长 1 表示,一个个取元素
- 步长 2 表示,每次跳一个元素取
- 步长 N 表示,每次跳过 N - 1 个元素取
(三)注意
此操作不会影响序列本身,而是会得到一个新的序列(列表、元组、字符串)
(四)操作示例
def func01():# 先定义好序列# 列表my_list01 = [1, '、', 'Be', 'who', 'you', 'are', 'on', 'the', 'inside.']# 元组my_tuple01 = (2, '、', 'We', 'learn', 'from', 'our', 'mistakes.')# 字符串my_str01 = '3、You have to love yourself.'# 对list进行切片,从1开始,4结束,步长1my_list02 = my_list01[1: 5:]print(f'得到的新的容器内容为:{my_list02},类型为:{type(my_list02)}')# 对tuple进行切片,从头开始,到最后结束,步长1my_tuple02 = my_tuple01[::] # my_tuple02 = my_tuple01[:] 也可以这么写print(f'得到的新的容器内容为:{my_tuple02},类型为:{type(my_tuple02)}')# 对str进行切片,从头开始,到最后结束,步长2my_str02 = my_str01[:: 2]print(f'得到的新的容器内容为:{my_str02},类型为:{type(my_str02)}')# 对str进行切片,从头开始,到最后结束,步长-1my_str03 = my_str01[:: -1]print(f'得到的新的容器内容为:{my_str03},类型为:{type(my_str03)}')# 对列表进行切片,从3开始,到1结束,步长-1my_list03 = my_list01[3: 1: -1]print(f'得到的新的容器内容为:{my_list03},类型为:{type(my_list03)}')# 对元组进行切片,从头开始,到尾结束,步长-2my_tuple03 = my_tuple01[:: -2]print(f'得到的新的容器内容为:{my_tuple03},类型为:{type(my_tuple03)}')
结果如下:
(五)练习案例
给定字符串
。负倾华韶,少年是自我
得到韶华
先将字符串进行定义赋值
my_str = '。负倾华韶,少年是自我'
1、方法一
word01 = my_str.index('韶')
word02 = my_str.index('华')
print(f'我得到的字符串为:{my_str[word01] + my_str[word02]}')
2、方法二
my_new_str = my_str[-7: -9: -1] # 注意这个步长要为负数,因为你是从后往前取元素
print(f'我得到的新的字符串为: {my_new_str} , 数据类型为:{type(my_new_str)}')
3、方法三
my_str = my_str[-1::-1]
print(f'得到的新的数据容器内的数据为:{my_str}')
my_str = my_str[6: 8: 1]
print(f'新的内容为:{my_str}')
4、方法四
my_str02 = '。负倾华韶,少年是自我'
my_list = my_str02.split(',')
print(f'新的序列的内容为:{my_list}, 数据类型为:{type(my_str02)}') # 得到的序列为列表
# 取到第一部分的内容
my_list = my_list[0]
print(f'取到的第一部分的内容为:{my_list}')
# 将其他的内容全部删除
my_str02 = my_list.replace('倾', '')
my_str02 = my_str02.replace('负', '')
my_str02 = my_str02.replace('。', '')
print(f'新的内容为:{my_str02}')
# 进行取反操作即可
my_str02 = my_str02[-1::-1]
print(f'得到的内容为:{my_str02}')
5、另外
还有很多种方法:
比如说:
- 循环遍历,如果字符串内的某个值等于你想要取到的值,拿出来,之后进行拼接就好了
- 等等等等,想出来的评论区可以进行讨论哦
下一节内容我想讲一下集合的内容,期待一下哦