因为在运行python脚本的时候你没在后面添加一个值。sys.argv[1]意思是取位置第二的参数。位置第一的是py名字,第二的参数你没有输入,所以取不到,所以报错out of range。
你执行的时候一般是这样的:python xxx.py A 其中xxx是程序名字,即sys.argv[0]的位置。A是参数,即sys.argv[1]取的位置。必须有这个A才行,要不然sys.argv[1]取不到值肯定报错
设计一种自定义类型,把list重新封装一层。在实现上保证初始化时原生list里自动添加一个元素。再把其它相关的东西都加上,比如获取列表长度等。这样就可以实现该需求。
然而,出于标准化考虑,建议你适应列表、数组这种索引从0开始的数据结构。毕竟大家大多数语言都是这样默认的,除了vb6等语言有小标为1的奇怪设定。