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类型都没有下标
原文地址:https://www.cnblogs.com/ruijie/p/10071149.html