使数组索引1而不是索引0

jgr*_*208 1 python

如何在python中使用下标1而不是下标0开始数组?

基本上是在python中解决这个问题.

Max*_*Max 10

如果您真的想要这样做,您可以创建一个包装列表的类,并实现__getitem____setitem__成为一个基类.例如:

def __getitem__(self, index):
  return self.list[index-1]

def __setitem__(self, index, value):
  self.list[index-1] = value
Run Code Online (Sandbox Code Playgroud)

但是,要获得Python列表的全部灵活性,您必须实现对切片,删除等的支持.如果您只想要一个简单的列表视图,一次一个项目,这应该为您完成. "

有关创建类似于序列或映射的自定义类的更多信息,请参阅数据模型的Python文档.


ins*_*get 6

+1 到最大值。您还可以尝试以下其他方法:

只需None在列表的索引 0添加一个。这应该为您提供功能。None当您将列表传递给 MATLAB 时,您只需要记住剪掉前导


Rak*_*esh 6

您可以使用enumerate()方法

a = ['a', 'c', 'v', 's']
for i,v in enumerate(a, 1):
    print i, v

1 a
2 c
3 v
4 s
Run Code Online (Sandbox Code Playgroud)

  • 实际上,枚举是模块内建函数中的一个类,只是为了挑剔。 (3认同)