我想在python中定义一个整数和defaultdict的列表。 我正在创建一个父字典,它将返回上面的列表。
我无法定义列表类型。
def index_struct():return defaultdict(list_struct)
def list_struct(): return list(int,post_struct)
def post_struct(): return defaultdict(list)
目前收到错误列表不能采取两个args ..
感谢您的帮助
答案 0 :(得分: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})]})