あなたは次のような意味ですか?
class DynamicList(list):
def __getslice__(self, i, j):
return self.__getitem__(slice(i, j))
def __setslice__(self, i, j, seq):
return self.__setitem__(slice(i, j), seq)
def __delslice__(self, i, j):
return self.__delitem__(slice(i, j))
def _resize(self, index):
n = len(self)
if isinstance(index, slice):
m = max(abs(index.start), abs(index.stop))
else:
m = index + 1
if m > n:
self.extend([self.__class__() for i in range(m - n)])
def __getitem__(self, index):
self._resize(index)
return list.__getitem__(self, index)
def __setitem__(self, index, item):
self._resize(index)
if isinstance(item, list):
item = self.__class__(item)
list.__setitem__(self, index, item)
>>> mat = DynamicList()
>>> mat[0] = ['row1','row1','row1']
>>> mat[1] = ['row2','row2']
>>> mat[2]= ['row3']
>>> mat
[['row1', 'row1', 'row1'], ['row2', 'row2'], ['row3']]
>>> print mat[1][1]
row2
>>> mat[5][5] = 'row5'
>>> mat
[['row1', 'row1', 'row1'], ['row2', 'row2'], ['row3'], [], [], [[], [], [], [],
[], 'row5']]
>>> print mat[5]
[[], [], [], [], [], 'row5']
>>> print mat[5][5]
row5
Pythonには実際の2次元配列はありませんが、リストのリストを持つことができます。あらかじめサイズを指定する必要はありません。あるいは、あなたは本当に[Python配列](http://docs.python.org/library/array.html)について話していますか? –
はい、Python配列を定義したいと思います。あらかじめサイズを指定してリストのリストを定義する方法を教えてください。おかげ –
私はこれをしたい: >>>マット= [] [] >>>マット[0] = [ 'ROW1'、 'ROW1'、 '行1'] >>>マット[1 ] = [ 'ROW2'、 'ROW2'] >>>マット[2] = [ 'ROW3'] このような値を与える: >>>印刷マット[1] [1] ROW2 –