首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么在这个类中,循环返回的索引是0,而不是0,1,2,3...etc?

在这个类中,循环返回的索引是0,而不是0,1,2,3...等的原因是因为在计算机编程中,索引通常是从0开始的。这是由于计算机内存的存储方式以及数据结构的设计所决定的。

在大多数编程语言中,数组、列表、字符串等数据结构的索引都是从0开始的。这是因为计算机内存中的数据是以连续的字节存储的,而索引实际上是指向内存中某个位置的指针。通过将索引从0开始,可以更方便地计算元素在内存中的位置,提高访问效率。

另外,从历史的角度来看,早期的编程语言如C语言就是从0开始计数的,后来的许多编程语言也沿用了这个习惯。因此,大部分开发者习惯于从0开始计数索引。

虽然索引从0开始可能会让一些初学者感到困惑,但习惯之后会发现这种方式更加直观和方便。在编写循环等代码时,使用0作为起始索引可以简化逻辑,减少出错的可能性。

总结起来,循环返回的索引是0,而不是0,1,2,3...等是因为计算机编程中索引通常从0开始计数,这样可以更方便地访问内存中的数据,并且符合编程语言的设计习惯。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Backtrader来啦:数据篇

    此系列将由浅入深,每期1~2周,大家敬请期待! 前言 阅读完上一篇Backtrader 来了后,不知大家心里是否有如下疑惑: 1、为什么用 DataFeeds 模块导入DataFrame 数据框必须依次包含7个字段 'datetime'、 'open'、'high'、'low'、'close'、'volume'、'openinterest'? 2、能否以及如何自定义导入的数据集结构? 3、为什么 self.datas[0].datetime.date(0) 返回的就是当前回测时刻? 4、self.datas 的结构是怎样的? 5、Backtrader 的数据组织形式又是怎样的? 6、回测过程中,数据的传递规则是怎样的? 7、在编写策略时,该如何提取想用的数据? ...... 对上述问题进行标准化,其实就是一个传统的“数据表格创建和增删改查“问题。之所以有上述疑惑,是因为不了解 Backtrader 框架下的数据表格的属性和操作规则,下面就带大家全面深入的了解一下 ~ Data Feed 数据馈送对象 Backtrader 中有一个“Data Feed” 或 “Data Feeds” 概念(可将其称为“数据馈送对象” ),其实这个“Data Feed” 或 “Data Feeds”就是我们熟悉的数据表格或数据表格集合 。Data Feed 在 Backtrader 中扮演一个“数据传递者”的角色,给策略有序的提供数据以及数据的索引位置 。 self.datas 大家在策略函数中经常用到的 self.datas 属性就是一个 Data Feeds,对应通过 Cerebro 导入的行情数据表格的集合(可能只导入了一只证券的行情数据,也可能导入了 N 只证券的行情数据)。在这个集合中,数据表格是按照导入的顺序依次确定索引位置,第一个导入的数据表格的索引位置为 0 ,之后的依次递增,如下图所示:

    04
    领券