Go 中切片索引与 Python 中列表索引的差异
1. 索引编号超过对象的实际长度
1.1 Python 列表索引
Python 2.7.12 (default, Nov 12 2018, 14:36:49)
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> a = [1,2,3,4,5,6,7]
>>> a[0:10]
[1, 2, 3, 4, 5, 6, 7]
>>>
由此可见 a[0:10]
超过列表实际长度不会报错,切返回列表的所有值。
1.2 Go 切片索引
package mainimport "fmt"func main() {s3 := []int{1, 2, 3, 4, 5, 6, 7, 8}// slice bounds out of ranges7 := s3[0:10]fmt.Printf("The value of s7: %#v\n", s7)}
运行报错:
panic: runtime error: slice bounds out of range
2. 索引编号为负值
2.1 Python 列表索引编号可以为负值
>>> a[5:-1]
[6]
>>> a[3:-1]
[4, 5, 6]
a[3:-1]
中的 -1 表示列表的最后往前数第几个元素,并且是不包含这个元素的。
2.2 Go 切片索引为负值时会报错
package mainimport "fmt"func main() {s3 := []int{1, 2, 3, 4, 5, 6, 7, 8}// invalid slice index -1 (index must be non-negative)s6 := s3[0:-1]// 切片索引不能为负值,这个与 Python 不一样,需要注意fmt.Printf("The value of s6: %#v\n", s6)}
报错信息:
./demo15.go:9:10: invalid slice index -1 (index must be non-negative)
Go 中切片索引与 Python 中列表索引的差异相关推荐
- python 三维图片 任意切片_在python中实现将一张图片剪切成四份的方法
import cv2 # [1]导入OpenCv开源库 import numpy as np image_path = "F:11111111111111111111111111111100 ...
- python中readlines函数用法,python中read() readline()以及readlines()用法
我们谈到"文本处理"时,我们通常是指处理的内容.Python 将文本文件的内容读入可以操作的字符串变量非常容易.文件对象提供了三个"读"方法: .read(). ...
- 【科学文献计量】将Endnote中的文献读入python中进行数据分析,并顺便将结果保存为Excel文件,并封装函数直接调用
将Endnote中的文献读入python中进行数据分析,并顺便将结果保存为Excel文件 1 需求 2 功能完成 2.1 文献下载 2.2 文献导入到Endnote 2.3 文献导出 2.4 文件加载 ...
- python中index从列表中查_在Python中查找包含它的列表的项目的索引
>>> ["foo", "bar", "baz"].index("bar") 1 警告如下 请注意,虽 ...
- python嵌套列表索引 index_Python:嵌套lis中元素的索引列表
在Python2.6或更高版本中next((i for i, sublist in enumerate(nested_list) if "a" in sublist), -1) 假 ...
- python 列表索引位置,python – 在列表中查找值的第一个位置
一种方法是为项目创建单独的列表以查找索引并使用索引函数和使用列表理解(还要进行额外检查以确保项目在列表中,否则将发生ValueError): my_list = [1,1,1] items = [1, ...
- python中idx+=1_在Python中为apos;循环访问索引 Dovov编程网
使用for循环,在这种情况下,如何访问循环索引,从1到5? 使用enumerate : for index, item in enumerate(items): print(index, item) ...
- python中的pd是什么意思_python中pd的用法 python中列表的用法
python标准库中常用的网络相关模块有哪些? 1.asynchat.asyncoreasynchat是asyncore的增强版.asyncore则是异步套接字处理程序. 2.Cookie.cooki ...
- python中元组_理解python中的元组
理解 python 中的元组 引言 在 Python 中元组是这样的: 元组是是这样一种数据结构:不变的或者不可改变的(简单来说不能重新赋值) .元素的有序序列.因为元组是 不变的,所以他的数值是不能 ...
最新文章
- 一位刚刚成功上岸的智能车队员对于参赛经历总结与对比赛的建议
- 过半网友支持马斯克卖掉特斯拉10%股票,马斯克:会遵守投票结果
- VMware虚拟机打开后不兼容
- bzoj千题计划161:bzoj1589: [Usaco2008 Dec]Trick or Treat on the Farm 采集糖果
- Linux更改主机名称(hostname)和设置DNS解析以及设置IP
- 使用拦截器分析Java EE应用程序的性能下降/提高
- java 事件分发线程_深入浅出Java多线程(2)-Swing中的EDT(事件分发线程) [转载]...
- python rgb led控件_用树莓派实现RGB LED的颜色控制——Python版本
- 怎么让电脑屏幕一直亮着_电脑屏幕总是闪烁?试试这个方法
- java URL连接ftp_java – URLConnection FTP列表文件
- 什么是好的虚拟化项目交付(转)
- ssl charles 参数看不到_偷偷告诉你Charles的秘密
- 752. [BJOI2006] 狼抓兔子
- 欧姆龙cp1h指令讲解_欧姆龙PLC功能指令
- 加载Selenium2Library却显示红色
- 江湖小白之一起学Python (三)双色球历史数据抓取
- windows 编译libtorrent
- 修改k8s的集群域名后缀
- html简单登录页面代码
- moses 编译_moses工具的配置详解