python中list的截取

GerBawn 2015-08-17 10:54:20
L = ['foo1', 'foo2', 'foo3', 'foo4', 'foo5']
print(L[::])
print(L[::-1])
上面这段代码分别正向和反向输出了整个list,然后我想显式的限定上下限来输出list,

print(L[0:len(L)])
print(l[len(L):0:-1])
这样会输出:

['foo1', 'foo2', 'foo3', 'foo4', 'foo5']
['foo4', 'foo3', 'foo2', 'foo1']
根据第一个输出看起来感觉L[]语法中的范围是包含下限但不包括上限的list,但如果是这样,第二个中的len(L)应该会越界。所以L[]的语法规则到底是什么样的?还有怎样才能反向输出整个list?
...全文
1059 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
补空 2015-08-19
  • 打赏
  • 举报
回复
楼主,怎么我的输出和你有点不一样的地方啊? l = ['footq','foot2','foot3','foot4'] print l[0:len(l)] print len(l) print l[len(l):0:-1] print l[::-1] print l[100:0:-1] 我程序的输出是: ['footq', 'foot2', 'foot3', 'foot4'] 4 ['foot4', 'foot3', 'foot2'] ['foot4', 'foot3', 'foot2', 'footq'] ['foot4', 'foot3', 'foot2'] 我感觉对于倒序输出来说下界是len(l)上界是0,这样包含下界不包含上界,因此不包含第一个元素 如果我们正序输出的时候也让下界越界,也是会有输出的,你可以尝试一下
零之领域 2015-08-18
  • 打赏
  • 举报
回复
L[::-1],-1反向取
乌拉拉_ 2015-08-18
  • 打赏
  • 举报
回复
那个是越界了,但是也可以访问。返回的就是能遍历到的值,别说[len(L):0:-1] 就是[10000:0:-1],返回的结果也是一样的~~ 反向输出的标准用法就是[::-1]这种了吧。。。

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧