首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python数组数据结构

python数组数据结构
EN

Stack Overflow用户
提问于 2016-10-18 10:35:40
回答 2查看 288关注 0票数 0

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

在python中有cpp数组的等价结构吗?ps,python数组似乎不是等价的,所有元素也必须按顺序填充

EN

回答 2

Stack Overflow用户

发布于 2016-10-18 10:51:50

也许StackOverflow上的这个答案可能就是你正在寻找的?

How to create a fix size list in python?

票数 1
EN

Stack Overflow用户

发布于 2016-10-18 11:07:45

您可能可以使用字典将某种包装器组合在一起:

代码语言:javascript
运行
复制
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://docs.python.org/3/reference/datamodel.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40098620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档