我已经通过以下方式创建了一个零列表作为字典值:
from collections import defaultdict
diction = defaultdict(lambda: list(np.zeros(len(8))))
调用上面的结果是一个空字典,因此调用diction[0]
会得到:
[0.0, 0.0, 0.0, 0.0, 0.0, 0.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: [[], [], [], [], [], [], [], []]}