如何定义int和defaultdict的列表

时间:2013-02-08 03:32:29

标签: python list dictionary function

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

我无法定义列表类型。

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

目前收到错误列表不能采取两个args ..

感谢您的帮助

1 个答案:

答案 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})]})