猿问

为什么范围(开始,结束)不包括结束?

为什么范围(开始,结束)不包括结束?

>>> range(1,11)

给你

[1,2,3,4,5,6,7,8,9,10]

为什么不1-11?

他们是否只是随意决定这样做,或者它是否具有一些我没有看到的价值?


叮当猫咪
浏览 581回答 3
3回答

吃鸡游戏

因为调用range(0, 10)哪个返回[0,1,2,3,4,5,6,7,8,9]包含10个等于的元素更常见len(range(0, 10))。请记住,程序员更喜欢基于0的索引。另外,请考虑以下常见代码段:for i in range(len(li)):&nbsp; &nbsp; pass你能不能看到如果range()真的len(li)那么这会有问题吗?程序员需要显式减1。这也遵循程序员喜欢的共同趋势for(int i = 0; i < 10; i++)了for(int i = 0; i <= 9; i++)。如果您经常以1开头调用范围,则可能需要定义自己的函数:>>> def range1(start, end):...&nbsp; &nbsp; &nbsp;return range(start, end+1)...>>> range1(1, 10)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

白衣染霜花

独家系列确实有一些好处:一方面,每个项目range(0,n)都是长度列表的有效索引n。也range(0,n)有一个长度n,而不是n+1包容范围。
随时随地看视频慕课网APP

相关分类

Python
我要回答