问题描述
我已经设法通过以下方式创建了一个零列表作为字典值:
from collections import defaultdict
diction = defaultdict(lambda: list(np.zeros(len(8))))
调用上面的结果是一个空字典,所以调用 diction[0]
给出:
[0.0,0.0,0.0]
它允许我用我想要的任何值或元组覆盖零,但它不允许我附加值。
所以我想要做的不是有一个零列表,而是有 9 个空列表,所以在调用 diction[0]
时,输出应该是这样的:
[[],[],[]].
我知道如何使用 for 循环来做到这一点,但我想要一种更有效的方法,如果可能的话,使用 lambda。
解决方法
my_list = {i: [[] for i in range(x)] for i in range(y)}
例如:
my_list = {i: [[] for i in range(8)] for i in range(10)}
输出:
{0: [[],[],[]],1: [[],2: [[],3: [[],4: [[],5: [[],6: [[],7: [[],8: [[],9: [[],[]]}