序列的相关操作

什么是序列?

在计算机科学中,序列是一种有序的数据集合,其中每个元素都有一个唯一的位置(索引)。序列可以包含不同类型的元素,例如数字、字符、对象等。Python中的序列通常具有以下特点:
有序性:序列中的元素按照它们在序列中的位置顺序排列,从第一个元素到最后一个元素。
可迭代性:你可以逐个访问序列中的元素,通常使用循环来实现。
可切片性:你可以通过切片(slicing)来获取序列的一部分,而不必访问每个元素。
不可变性:某些序列是不可变的,意味着它们的内容不能被修改,但可以创建新的序列。
可变性:其他序列是可变的,你可以修改它们的内容,添加或删除元素。

python中序列的类型:

字符串(String):由字符组成的不可变序列。字符串用于存储文本信息。
列表(List):由元素组成的可变序列。列表可以包含不同类型的元素。
元组(Tuple):与列表类似,但是不可变的序列。元组通常用于存储不可改变的数据。
范围(Range):用于表示一个不可变的整数序列。通常在循环中使用。
字节数组(Bytearray):可变序列,用于存储二进制数据。
字典(Dictionary):键值对的集合,不是严格意义上的序列,但可用于迭代键或值。
集合(Set):用于存储无序且唯一的元素的集合,也不是严格的序列。

序列的常用操作

·切片

切片是从一个序列中,取出一个子序列
语法格式: sname[ start : end : step ]
start:开始索引位置(包括该位置),此参数也可以不指定,会默认为 0
end:结束索引位置(不包括该位置),如果不指定,则默认为序列的长度
step:取值间隔,如果省略 step 的值,默认为1,最后一个冒号可以省略
# 对list进行切片,从1开始,4结束,步长为1
my_list=[0,1,2,3,4,5,6]
result1=my_list[1:4] # 步长默认为1,所以可以省略不写
print(f"结果1:{result1}")  # 结果1:[1, 2, 3] # 4不写出来

# 对list进行切片,从3开始,到1结束,步长为-1
my_list2=[0,1,2,3,4,5,6]
result2=my_list2[3:1:-1]
print(f"结果2:{result2}") # 结果2:[3, 2]

# 对tuple进行切片,从头开始,到最后结束,步长为1
my_tuple=(0,1,2,3,4,5,6)
result3=my_tuple[:]
print(f"结果3:{result3}") # 结果3:(0, 1, 2, 3, 4, 5, 6)

# 对tuple进行切片,从头开始,到最后结束,步长为-2
my_tuple2=(0,1,2,3,4,5,6)
result4=my_tuple2[::-2]
print(f"结果4:{result4}") # 结果4:(6, 4, 2, 0)

# 对str进行切片,从头开始,到最后结束,步长为2
my_str="01234567"
result5=my_str[::2]
print(f"结果5:{result5}") # 结果5:0246

# 对str进行切片,从头开始,到最后结束,步长为-1
my_str6="01234567"
result6=my_str[::-1] # 等同于将序列反转
print(f"结果6:{result6}")  #结果6:76543210

·序列的连接(序列的加和乘)

加+和乘*运算符也可以用于序列中的元素。
加+运算符可以将多个序列连接起来。
乘*运算符可以将序列重复多次。
注意观察输出结果,都是列表相加,但连接的顺序不同,输出结果也不同。
## 加法操作
# 新建2个字符串
str_1 = "Hello"
str_2 = "World"
# 用+连接两个字符串
print(str_1+str_2) # 运行结果:HelloWorld

新建3个列表
list_1 = [1, 2]
list_2 = [3, 4]
list_3 = [4, 5]
# 用+连接多个列表
print("列表1+2+3:", list_1 + list_2 +list_3)  # 列表1+2+3: [1, 2, 3, 4, 4, 5]
# 用+连接多个列表
print("列表3+2+1:", list_3 + list_2 +list_1) # 列表3+2+1: [4, 5, 3, 4, 1, 2]


乘法操作
# 新建1个字符串
str_1 = "Hello"
# 用*将字符串重复2次
print(str_1*2) # HelloHello


新建1个元组
# 注意元组只有1个元素时,该元素后面必须加一个英文逗号,即字符串"张三"后面有一个英文逗号,。
tuple_1 = ("张三",)
# 用*将元组重复5次
print(tuple_1 * 5) # ('张三', '张三', '张三', '张三', '张三')
# 查看数据类型
print(type((tuple_1 * 5))) # <class 'tuple'>

·检查元素

用 in 关键字检查某元素是否为序列的成员。
   运算符in可以判断某个元素是否在序列中,如果元素在序列中,in表达式返回布尔值True,否则返回布尔值False。
   运算符not in可以判断某个元素是否在序列中,如果元素不在序列中,not in表达式返回布尔值True,否则返回布尔值False。
序列中,in表达式返回布尔值True,否则返回布尔值False。
not in 关键字用来检查某个元素是否不包含在指定的序列中
结果值为 True  或者 False
语法格式:value in sequense
新建一个列表,存储班级学生名字
name_list = ["张三","李四","王五","赵六","刘一","陈二","孙七","周八"]

# 判断班里有没有一个叫赵六的人

# in表示有
print("赵六" in name_list)  # True
print('赵六' in name_list) # True 列表里的"张三"用的是双引号,成员运算里的'张三'用的是单引号,这里的单双引号不影响最终的判断结果。
‘’‘
in 运算符返回的布尔值是True,表示班里有一个叫赵六的人。not in 运算符返回的布尔值是False,表示班里有一个叫赵六的人。
单双引号不影响判断结果
’‘’
# not in表示没有
print("赵六" not in name_list) # False

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值