今天刚学python就遇到一个问题
months="JanFebMarAprMayJunJulAugSepOctNovDec"
n = 4
monthAbbrev = months[(n-1)3:(n-1)3+3]
print(monthAbbrev)
运行结果:Apr
我不知道数组months里面的冒号是干嘛用的,找了下度娘知道了这是许多语言都有的切片功能。
months[(n-1)3:(n-1)3+3] = months[9:12]
所以我从左到右从零开始数到 'A' 刚好是第9位,从第9位右边开始到第12位结束(第12位不能算进去)共3个字母。即Apr。
这是切片功能还有别的用法。如:months[:8] 这样的话是从零位到第8位
months[8:]这样的话是从第8位到零位。
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取
部分引自:http://www.cnblogs.com/weidiao/p/6428681.html