python-切片
切片:list取值的一种方式,在ist中取多个值时,就叫切片
# lis=list(range(1,21))
#
# print(lis)
#
# print(lis[0:11])
#
# print(lis[0:11:2])
#
# print(lis[::-1])
# lists=['于萍','李梦','王春武','李丹利']
#
# for name in lists:
# print(name)
#取李梦和王春武
nums=['于萍','李梦','王春武','李丹利']
print(nums[1:3])
#结果:['李梦', '王春武'] 顾头不顾尾
#从头取到尾
print(nums[:])
#结果:['于萍', '李梦', '王春武', '李丹利']
#从头取到某1个下标结束
print(nums[:4])
#结果:['于萍', '李梦', '王春武', '李丹利']
#步长
#如果步长是正数,从左往右边取值
#如果步长是负数,从右边往左边取值
lis=[1,2,3,4,5,6,7,8,9,10]
#取1到10的值,每隔两个取一次
print(lis[::2])
#结果:[1, 3, 5, 7, 9]
#快速反转,取9,7,5,3,1
print(lis[8::-2])
#reverse反转改变了原lis中的值;-1快速度反转不会改变原有lis的值,产生了新的值
lis.reverse()
print(lis)
#结果:[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
#切片操作同样适用于字符串,因为字符串也有下标
name='周蕊'
print(name[0])
#结果:周
#可变变量、不可变变量
#list是可变变量 str是不可变变量
#例:list
name=['于萍','李丹利','王春武','李梦']
#把王春武修改为郝楠
name[2]='郝楠'
print(name)
#结果:['于萍', '李丹利', '郝楠', '李梦']
#例:str
name2='123456'
# name2[2]='4'
# print(name2)
# #结果:str属于不可变变量
# # Traceback (most recent call last):
# File "E:/DSX/LX/day3/切片.py", line 77, in <module>
# name2[2]='4'
# TypeError: 'str' object does not support item assignment
#str类型的可以整个修改
name2='王振语'
print(name2)
#int类型和float类型都没有下标