可以使用array(python中的数组具有固定的类型签名,但不具有固定的大小):>>> import array
myArray = array.array('c', ['\0' for _ in xrange(100)])
>>> myArray
array('c', '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00')
>>> myArray[45]
'\x00'
注意,我在python中将默认值初始化为'\0'couse必须用一个值对其进行初始化,而array没有固定的大小(它是动态的),但这将做到。
另一个选项是初始化数组并在稍后追加值,这样它就不再是空的(python中没有空的)而是空的,并且可以随意增长:>>> a = array.array('c',)
>>> a
array('c')
>>> a.append('c')
>>> a
array('c', 'c')