import numpy as np

print("--------------list-------------------")

a = [i for i in range(10)]

print(len(a))

print(a)

print("--------------list分割--------------------")

print(a[0:3])

print(a[3:10])

print(a[-5:])

print("--------------array-------------------")

b = np.arange(10)

print(len(b))

print(b)

print("--------------array分割--------------------")

print(b[0:3])

print(b[3:])

根据以上的实验得出结论python中的有关下标的结构都满足左闭右开原则。那么为什么要遵循左闭右开原则呢?

1、因为在计算机硬件中迭代器对比较大小的运算很麻烦,有些时候两个地址都无法比较大小。但是比较是否相等就会简单的多,比如我要 range(10) 这时候只需判断从0开始每次加一,直到等于10的时候结束循环。

其实程序里使用左闭右开的原因是:考虑一个区间[0, n], 如果我需要遍历这个区间,需要迭代器支持比较操作。

即:i = 0;while (i <= n) do { process(i); i++;}

而很多抽象的迭代器是无法来比较大小的,比如二叉树里指向一个节点的指针。而如果使用左闭右开区间[0, n),我们遍历这个区间只需要迭代器支持比较相等操作就可以了。即:i = 0;while (i != n) do { process(i); i++}

2、

比较一下下面三种划分实数的方案

[0, 1] (1, 2) [2, 3]…

(0, 1) [1, 2] (2, 3)…

[0, 1) [1, 2) [2, 3)…

显然半闭半开划分方案最美,所有区间包含的元素“一样多”。半闭半开的原则中,因为人们的习惯通常都是从左向右读数据,所以两者相比之下左闭右开更自然

python列表左闭右开_python中的细节—左闭右开原则相关推荐

  1. python列表和集合的异同_Python中的list与tuple集合区别解析

    Python中内置了list集合与tuple集合,在list集合中可以实现元素的添加.修改.插入.以及删除.tuple集合看似与list类似,但两者还是有很大的区别. 在tuple集合中,一旦元素被存 ...

  2. python 列表 元祖 字典 集合_python中列表、元祖、字典和集合

    list 允许重复的集合,是有序的:即元素可以是一样的,也可以修改元素: tuple 允许重复的集合,是有序的:但子元素是不可以修改的 dict   允许重复的集合,是无序的:元素是可以修改的 set ...

  3. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  4. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

  5. python中列表是什么样的数据结构_Python中列表、字典、元组、集合数据结构整理...

    Python常见数据结构整理 Python中常见的数据结构可以统称为容器(container).序列(如列表和元组).映射(如字典)以及集合(set)是三类主要的容器. 一.序列(列表.元组和字符串) ...

  6. python可以使用二维元组吗_python中读入二维csv格式的表格方法详解(以元组/列表形式表示)...

    怎么去读取一个没有表头的二维csv文件(如下图所示)? 并以元组的形式表现数据: ((1.0, 0.0, 3.0, 180.0), (2.0, 0.0, 2.0, 180.0), (3.0, 0.0, ...

  7. python列表元素下标是什么_python列表中元素插入位置总结

    python列表中元素插入位置总结 , python中列表去掉最后一个元素 ist.insert(index,obj) 列表与方法之间用点号相隔,括号内需要添入的参数分别是索引和要插入的元素. 要完成 ...

  8. python列表嵌套字典取值_Python基础语法:你不得不知的几种变量类型

    (点击上方快速关注并设置为星标,一起学Python) 作者:kina_chen來源:简书 01. Python编码Python中默认的编码格式是 ASCII 格式,在没修改编码格式时无法正确打印汉字, ...

  9. python列表的内置方法_Python内置方法详解

    1. 字符串内置方法详解 为何要有字符串?相对于元组.列表等,对于唯一类型的定义,字符串具有最简单的形式. 字符串往往以变量接收,变量名.可以查看所有的字符串的内置方法,如: 1> count: ...

  10. python列表的排序方法是_Python列表排序 reverse、sort、sorted 操作方法详解

    python语言中的列表排序方法有三个:reverse反转/倒序排序.sort正序排序.sorted可以获取排序后的列表.在更高级列表排序中,后两中方法还可以加入条件参数进行排序. reverse() ...

最新文章

  1. ICRA2022 | AutoPlace:车载单片毫米波雷达场景识别
  2. ArrayList的add(E e)方法与扩容
  3. python基础教程--代码集合(上)
  4. python shell运行当前程序、可以按下_Python下调用Linux的Shell命令的方法
  5. Cookie简介及JSP处理Cookie的方法
  6. eclipse的简介安装与配置
  7. SushiSwap将于5月17日上线IDO平台Miso
  8. 拓端tecdat|Matlab广义线性模型glm泊松回归的lasso、弹性网络正则化分类预测考试成绩数据和交叉验证可视化
  9. 微信开发-点击链接自己主动加入关注
  10. 交换机的接口类型和Ensp中线缆类型
  11. 大数据给人们生活带来的改变_大数据给我们的生活带来了哪些改变?
  12. Python学习笔记 使用matplotlib创建Gif动图
  13. ORACLE SPA and RAT
  14. 爬取煎蛋网图片的一种思路
  15. np.percentile用法
  16. wallpaper动态壁纸软件
  17. 云计算技术优势和商业优势是什么,主要有哪些特点?
  18. python解除windows锁屏_用python获取win10锁屏图片
  19. Python turtle绘制——癸卯(兔)年卯兔图
  20. 社区计算机义务维修策划书,义务维修电脑策划书.doc

热门文章

  1. python输出10行带标号的hello、world_#000 Python 入门第一题通过扩展,学到了更多的知识...
  2. ArcGIS 把字段允许空值设为否
  3. Word(二) Word2016 如何删除页眉的下划线
  4. php for iis express,iis10.0完整安装包
  5. HDU 2209 翻纸牌游戏 By Assassin 模拟
  6. Day-26 多线程和多进程
  7. 为何卡普空选择在游戏里塑造如此性感妖艳的女性角色
  8. 域名怎样实现自动跳转
  9. 计算机网络期末考点复习
  10. Python每日一练-----快乐数