产业气象站|而不是从1开始?,漫话:如何给女朋友解释为什么计算机从0开始计数( 三 )


这样看来 , 1-based的索引方式 , 与切片起始位+长度的语法形式配合使用会不会更合适?这样你可以写成a[i:n] 。 事实上 , ABC语言就是这样做的——它发明了一个独特的语法 , 你可以把表达式写成a@i|n 。
但是 , index:length这种方式在其它情况下适用吗?说实话 , 这点我有些记不清了 , 但我想我是被半开区间语法的优雅迷住了 。
特别是当两个切片操作位置邻接时 , 第一个切片操作的终点索引值是第二个切片的起点索引值时 , 太漂亮了 , 无法舍弃 。
例如 , 你想将一个字符串以i , j两个位置切成三部分 , 这三部分的表达式将会是a[:i] , a[i:j]和a[j:] 。
产业气象站|而不是从1开始?,漫话:如何给女朋友解释为什么计算机从0开始计数
文章图片
产业气象站|而不是从1开始?,漫话:如何给女朋友解释为什么计算机从0开始计数
文章图片
产业气象站|而不是从1开始?,漫话:如何给女朋友解释为什么计算机从0开始计数
文章图片
产业气象站|而不是从1开始?,漫话:如何给女朋友解释为什么计算机从0开始计数
文章图片


推荐阅读