Python 3字符串切片行为不一致

时间:2010-08-31 18:55:31

标签: python slice

想要一个从字符串中提取年月和日的简单方法。 使用Python 3.1.2

试过这个:

processdate = "20100818"
print(processdate[0:4])
print(processdate[4:2])
print(processdate[6:2])

结果:

...2010
...
...

重新读取所有字符串文档,进行了一些搜索,无法弄清楚为什么会这样做。 我敢肯定,这是一个我不知道错过的脑子,我今天刚刚对此感到不满。

3 个答案:

答案 0 :(得分:6)

使用[4:2]切片,你告诉Python从字符索引4开始并在字符索引2处停止。因为4> 2,你已经过去了,当你开始时你应该停下来,所以切片是空的。

你想要第四和第五个角色吗?然后你想要[4:6]。

答案 1 :(得分:6)

执行此操作的最佳方法是使用strptime

print( strptime( ..., "%Y%m%d" ) )

答案 2 :(得分:2)

processdate = "20100818" 
print(processdate[0:4]) # year
print(processdate[4:6]) # month
print(processdate[6:8]) # date