美文网首页
为什么 切片和区间会忽略最后一个元素

为什么 切片和区间会忽略最后一个元素

作者: eeert2 | 来源:发表于2020-04-22 18:10 被阅读0次

摘自 《流程的Python》

在切片和区间操作里不包含区间范围的最后一个元素是 Python 的风格,这个习惯符合 PythonC 和其他语言里以 0 作为起始下标的传统。这样做带来的好处如下。

  • 当只有最后一个位置信息时,我们也可以快速看出切片和区间里有几个元 素:range(3)my_list[:3] 都返回 3 个元素。

  • 当起止位置信息都可见时,我们可以快速计算出切片和区间的长度,用后一个数减去 第一个下标(stop - start)即可。

  • 这样做也让我们可以利用任意一个下标来把序列分割成不重叠的两部分,只要写成 my_list[:x]my_list[x:] 就可以了,如下所示。

"""
将一个序列尽量平分成两部分
"""

if __name__ == '__main__':
    test = [1, 2, 3, 4, 5, 6, 7]
    middle = len(test) // 2  # 整除 2
    left = test[:middle]
    right = test[middle:]
    print(left)  # [1, 2, 3]
    print(right)  # [4, 5, 6, 7]

相关文章

  • 为什么 切片和区间会忽略最后一个元素

    摘自 《流程的Python》 在切片和区间操作里不包含区间范围的最后一个元素是 Python 的风格,这个习惯符合...

  • kotlin精讲-第5章(3)区间常见方法和属性

    区间常见方法和属性 前面我们通过for循环遍历区间元素,但是我们想要获取区间第一个元素、最后一个元素的时候,kot...

  • Python切片、元组、字典

    切片: 切片可以处理一部分元素。 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。和函数range()一...

  • 1.2 命令行参数

    切片 go语言采用左闭右开的方式,即区间包括第一个索引元素,不包括最后一个。因为这样可以简化逻辑。 比如,a=[1...

  • Python基础学习day2|使用列表

    使用列表 切片 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数range()一样,Python在...

  • 【编测编学】零基础学python_11_列表(切片+遍历切片+复

    1.列表切片 要创建切片,可指定要使用的第一个元素和最后一个元素的索引。与函数 range() 一样, Pytho...

  • 说说 Python 的列表切片

    切片指的是列表的一部分。 1 基本用法 指定第一个元素和最后一个元素的索引,即可创建切片 。Python 会在到达...

  • 快排的恶化

    为什么当存在大量重复元素时,快排的效率会出现明显的下降? i用来遍历,j用来分割大于标记元素区间和小于标记元素区间...

  • 选择排序

    思想:分已排序区间和未排序区间。每次会从未排序区间中找到最小的元素,将其放到已排序区间的末尾。 使用

  • 【查漏补缺】Python小知识点21~40

    21.切片使用时注意点:指定的索引区间,包括起始索引对应的元素,不包括结束索引对应的元素。即:左开右闭。 如果,要...

网友评论

      本文标题:为什么 切片和区间会忽略最后一个元素

      本文链接:https://www.haomeiwen.com/subject/fabbihtx.html