python中的数据结构是否等同于cpp中的数组? 一些元素被初始化而一些元素没有? 例如,在python列表中:[1,2,3],元素必须按顺序填充 在cpp数组中可以是[0] == 0,1 - 任意,未初始化,a [2] == 2
python中有一个cpp数组等效结构吗? ps,python数组似乎不等价,所有元素也必须按顺序填充
答案 0 :(得分:1)
也许StackOverflow上的这个答案可能正是你要找的?
答案 1 :(得分:0)
您可以使用字典将某种包装器组合在一起:
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]
显然,这个快速草图遗漏了许多细节,这些细节会使课程更有用。
有关您可以使用的特殊方法的其他想法,请检查: