python的字符串切片、列表切片

版权声明:内容版权为CSDN用户:kayseen 所有,若您需要引用、转载,需要注明来源及原文链接 https://blog.csdn.net/m0_43394876/article/details/90082186

字符串切片

str = '0123456789′
print str[0:3] #截取第一位到第三位的字符 [0,1,2]   前包含后不包含
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前 [0,1,2,3,4,5,6]  也是不包含-3
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符 , 倒序的数字是从-1开始计算而不是0,并且范围表示前包含后不包含,所以结果为78
print str[-3:] #截取倒数第三位到结尾  即 789
print str[:-5:-3] #逆序截取,先倒序, 间隔3,截取  即96
print(str[:5:-1] )  #先倒序,再截取0到5的值,即 9876  

split用法

cookie =  "anonymid=jqssugyx-z9kad7; depovince=JS; _r01_=1;
cookie_dict = {i.split("=")[0]:i.split("=")[1] for i in cookie.split(";")}

列表切片

基本的公式:a[start:end:step]

实例:

a = [1, 2, 3, 4, 5, 6]
a[0:3] # [1, 2, 3]
a[:3] # [1, 2, 3]
a[1:5] # [2, 3, 4, 5]
a[1:6] # [2, 3, 4, 5, 6]
a[1:7] # [2, 3, 4, 5, 6]
a[1:] # [2, 3, 4, 5, 6]
a[::2] # [1, 3, 5]
a[:] # [1, 2, 3, 4, 5]

start和end为负,step依然为正的情况:

a = [1, 2, 3, 4, 5, 6]
a[-1] # 6
a[-2:] # [5, 6]  #包含最后一个
a[:-2] # [1, 2, 3, 4]  #前包含后不包含
a[-2:-4] # []
a[-4:-2] # [3, 4]

step为负时是反向截取列表的:

a = [1, 2, 3, 4, 5, 6]
a[:-3:-1] # [6, 5]     #start缺省,默认为-1
a[1::-1] # [2, 1]     #end缺省,默认为0
a[-2:-3:-1] # [5]
a[-4:-3:-1] # []
a[1:4:-1] # []
a[1:-1:-1] # []

step为负时,start的索引位置必须在end的索引位置的后面,否则只能得到空列表,因为step为负时是反向截取列表的。
此时,start在缺省状态下默认为-1,也就是从列表倒数第一个元素开始截取,end在缺省状态下默认截取到第一个元素

猜你喜欢

转载自blog.csdn.net/m0_43394876/article/details/90082186