python语言中长度是从零开始吗

更新时间:01-27 教程 由 对味 分享

"取0为开始"是某种意义上的编程语言规范,虽然不遵守这个规范的更多,甚至可能最开始就是从1开始的数组,但是在现在的语境下,使用0作为数组开头能够节省很多新语言的理解成本.

怼法进阶:计数从0开始,是程序员偷懒的设定之一

写数组的时候,经常会涉及溢出问题,大多数人是这么解决的:

数组a长度n,每次操作取a[(count+1)%n]

发现没,count%n,就是取余操作

余数如果从1开始算,我需要这么写才能让数组作取余,a[count%n],但是a[n]=a[n%n]=a[0],那么我就需要针对a[n]作特殊处理,也就是写一层if,就增加了代码量

怼法高级:从操作系统原理来讲,数组的本质是一串连续的地址

数组中的a[n]所代表的数据的地址,其实是a的头地址+n*(数组代表的数据类型所占用的空间),鉴于老程序员一般要学习操作系统,要求了解系统底层,在系统层面上去理解代码的话,数组从0开始明显比从1开始更容易去理解.

现在的Python数组之所以支持多种数据类型,是因为Python数组有点类似编程中的"链表"技术,就是"需要的时候随机取走一块空间,通过逻辑地址的方法去索引",而不是像数组一样,直接从内存取走一大块固定的空间,通过物理的方法去索引修改.

声明:关于《python语言中长度是从零开始吗》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2104018.html