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

2024-03-29 05:17:40 发布

您现在位置:Python中文网/ 问答频道 /正文

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

基本上是用python解决这个问题。


Tags: 数组
3条回答

+1到Max。你还可以试试别的方法:

只需在列表的索引0处添加一个None。这会让你获得功能。当您将列表传递给MATLAB时,您只需要记住剪掉前面的None

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

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

def __setitem__(self, index, value):
  self.list[index-1] = value

但是,要获得Python列表的全部灵活性,您必须实现对切片、删除等的支持。如果您只想查看列表的一个简单视图,一次只能查看一个项目,这应该对您有用

有关创建类似序列或映射的自定义类的详细信息,请参见Python Documentation for Data Model

可以使用枚举()方法

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

1 a
2 c
3 v
4 s

相关问题 更多 >