如何定义整数列表和defaultdict
我想在Python里定义一个包含整数和默认字典的列表。
我正在创建一个父字典,它应该返回上面提到的列表。
但是我不知道怎么定义这个列表的类型。
def index_struct():return defaultdict(list_struct)
def list_struct(): return list(int,post_struct)
def post_struct(): return defaultdict(list)
现在我遇到了一个错误,提示列表不能接受两个参数。
谢谢大家提前的帮助!
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})]})