【问题标题】:Python class that works as list of lists用作列表列表的 Python 类
【发布时间】:2017-12-09 19:31:02
【问题描述】:

我正在尝试创建一个可以作为列表列表工作的 python 类。但是,到目前为止,我设法开发的只是,

class MyNestedList(list):
...

我知道上面的代码可以作为,

my = MyNestedList()
my[0] = 1
...

但我希望我的班级能够工作,

my[0][0] = 1
...

有人可以指导我进一步吗?

编辑:我希望该类作为 deap 框架的类型传递,作为我个人。我不能将列表列表作为我的类型传递,因为它会破坏我的结构。

【问题讨论】:

  • 这毫无意义。
  • 您能更好地描述一下您的要求吗?您需要哪些实际列表无法做到的事情?

标签: python list inheritance nested-lists


【解决方案1】:

这是一个例子。您必须使用足够多的元素初始化嵌套列表,否则会出现索引错误。

class NestedLst(object):
    def __init__(self, x, y):
        self.data = [[None]*y]*x

    def __getitem__(self, i):
        return self.data[i]

nlst = NestedLst(2, 2)
nlst[0][0] = 10
print nlst[0][0]

【讨论】:

  • 你能给我提供一个如何使用这个类的例子吗?我创建了一个 2x2 数组并用 dict 对其进行了初始化,但它覆盖了元素
  • @infiniator 我更新了 anwser 中的用法。 “覆盖元素”是什么意思?
猜你喜欢
  • 1970-01-01
  • 2021-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多