在python中有没有与cpp中的数组等价的数据结构?一些元素被初始化而另一些元素没有被初始化?例如,在python list: 1,2,3中,元素必须按顺序填充cpp数组可以是== 0,a1 --任意的,未初始化的,a2 == 2
在python中有cpp数组的等价结构吗?ps,python数组似乎不是等价的,所有元素也必须按顺序填充

发布于 2016-10-18 10:51:50
也许StackOverflow上的这个答案可能就是你正在寻找的?
发布于 2016-10-18 11:07:45
您可能可以使用字典将某种包装器组合在一起:
class CppArray:
def __init__(self, value):
if value == None:
self.data = {}
self.length = 0
else:
self.data = { 0: value }
self.length = 1
def insert(self, index, value):
while index in self.data:
tmp = self.data[index]
self.data[index] = value
value = tmp
index = index + 1
self.data[index] = value
if index >= self.length:
self.length = index + 1
def __getitem__(self, index):
if (index < 0 or index >= self.length):
# must create IndexException
raise IndexException("Index out of range")
if index in self.data:
return self.data[index]
else:
return None
x = CppArray("i")
x.insert(0,10)
x.insert(200,30)
x[1]显然,这个快速草图缺少了许多细节,这些细节将使这个类更有用。
有关可以使用的特殊方法的其他想法,请查看:
https://stackoverflow.com/questions/40098620
复制相似问题