【问题标题】:python - Creating empty lists in dictionary valuespython - 在字典值中创建空列表
【发布时间】:2021-03-16 11:05:07
【问题描述】:

我设法通过以下方式创建了一个零列表作为字典值:

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。

【问题讨论】:

  • 该列表很可能是最有效的。绝对比 lambda 表达式快。您应该只使用列表理解my_list = {i: [] for i in range(N)}。这就是“python”的方式。
  • 谢谢,绝对有帮助。

标签: python list dictionary lambda empty-list


【解决方案1】:
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: [[], [], [], [], [], [], [], []]} 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    • 2022-06-27
    • 2017-05-05
    • 2013-10-26
    • 2016-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多