如何定义整数列表和defaultdict

0 投票
1 回答
1038 浏览
提问于 2025-04-17 15:11

我想在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})]})

撰写回答