一千萬個為什麽

搜索

python:索引越界的數組默認值

我需要一個很好的方法來詢問數組/矩陣值,但是為越界索引報告默認值(0):
如果第二個索引長度為3,則[2] [4]應該返回0,並且
b [-1] [2]也是
我查了一下: 獲取索引超出範圍的默認值Python ,但在我看來它對負索引不起作用 - 因為python總是向它們添加數組長度(是嗎?)
我正在考慮重載 __ getitem __ ,但是我剛剛1個月前來到python,我不是那麽熟練......

任何幫助贊賞!

亞歷山德羅

最佳答案

如果你想要一個無限大小的稀疏矩陣,你可以使用defautldict:

py> matrix=defaultdict(lambda:defaultdict(lambda:0))
py> matrix[2][4]
0
py> matrix[2][4]=8
py> matrix[2][4]
8
py> matrix[-1][2]
0

轉載註明原文: python:索引越界的數組默認值