0

我想在 python 中定义一个整数和 defaultdict 的列表。我正在创建一个父字典,它将返回上面的列表。

我无法定义列表类型。

def index_struct():return defaultdict(list_struct)
def list_struct(): return list(int,post_struct)
def post_struct(): return defaultdict(list)

当前出现错误,因为列表不能接受两个参数..

我在这里先向您的帮助表示感谢

4

1 回答 1

2

你说得对,list()只接受一个论点。请改用方括号表示法。另请注意,[int, post_struct]这不起作用,因为没有调用这两个构造函数。您需要通过添加括号手动调用构造函数:

from collections import defaultdict

def index_struct():return defaultdict(list_struct)
def list_struct(): return [int(), post_struct()]
def post_struct(): return defaultdict(list)

>>> d = index_struct()
>>> d['somekey'][0] = 5
>>> d['somekey'][1]['anotherkey'] = 6
>>> d
defaultdict(<function list_struct at 0x10252ff50>, {'somekey': [5, defaultdict(<type 'list'>, {'anotherkey': 6})]})
于 2013-02-08T03:43:05.967 回答