当前位置: 首页 > 知识库问答 >
问题:

为什么切片和范围上限是排他性的?

韦安顺
2023-03-14
range([start], stop[, step])
slice([start], stop[, step])

是要有:

for i in range(start, stop):

看起来像下面的C代码

for (i = start ; i < stop; i++) {

共有1个答案

闽涵蓄
2023-03-14

文档暗示这有几个有用的属性:

word[:2]    # The first two characters
word[2:]    # Everything except the first two characters

这里有一个有用的切片操作不变量:s[:i]+s[i:]等于s

对于非负索引,如果两个索引都在界限内,则片的长度为两个索引的差值。例如,字[1:3]的长度为2

 类似资料:
  • 但实际发生的情况是,rndNumber包含一个0到100之间的随机整数。为什么会这样呢? 我明白上限是排他性的,但那为什么下限是包容性的呢?为什么这不一致呢?

  • 问题内容: 在玩过Go HTML模板后,我发现所有用于遍历模板中对象的示例都是将切片的结构传递给模板,有点像此示例中所示: 其中“主要”模板为: 这有效,但是如果我仅使用.Name属性,则我不明白如何在每个ID旁边显示每个ID。我会发现在显示时将每个用户视为一个对象来对其属性进行分组会更合乎逻辑。 因此,我的问题是: 如果我想将结构片段传递给模板怎么办? 使它起作用的语法是什么?我尚未在官方htm

  • 我对C#UTF8编码感到困惑... 假设这些“事实”是正确的: Unicode是定义每个字符的“协议” 根据C#参考,每个字符的可接受范围为0x0000到0xFFFF。我不明白另一个字符是什么,它在0xFFFF之上,在Unicode协议中定义的? 与C#相比,当我使用Python编写UTF8文本时-它涵盖了所有预期范围(0x0000到0x10FFFF)。例如: 这对C不起作用。此外,当我将Pyth

  • 问题内容: 我试图了解在多个JavaConfig上下文中放置注释的正确位置在哪里? 考虑以下情形:我在JPAConfig.java和AppConfig.java中具有服务bean集的JPA配置。然后,在RootConfig.java中编写整个应用程序配置。 我在JPAConfig.java中定义事务管理器,并启用对JPA存储库的扫描- 当这些暴露事务行为时,我将其放到JPAConfig上,并且它可

  • 问题内容: 为什么不导致错误?既然如此,其背后的动机是什么? 从这种行为,我可以假设在本质上/内部与并不相同,即使两者都导致相同的字符串。 问题答案: 没错!和根本不同,并且在序列范围之外进行切片(至少对于内置对象而言)不会导致错误。 起初可能令人惊讶,但是当你考虑它时,这是有道理的。索引返回单个项目,但切片返回项目的子序列。因此,当你尝试索引不存在的值时,没有任何返回值。但是,当你在边界之外对序