繁体   English   中英

在 python 中创建空的列表列表

[英]creating empty lists of lists in python

我有一本这样的字典:

data = {
   'Sim_1':{
      'sig1':[
         1,
         2,
         3
      ],
      'sig2':[
         4,
         5,
         6
      ]
   },
   'Sim_2':{
      'sig3':[
         7,
         8,
         9
      ],
      'sig4':[
         10,
         11,
         12
      ]
   },
   'Com_1':{
      'sig5':[
         13,
         14,
         15
      ],
      'sig6':[
         16,
         17,
         18
      ]
   },
   'Com_2':{
      'sig7':[
         19,
         20,
         21
      ],
      'sig8':[
         128,
         23,
         24
      ]
   }
}

我想创建一个这样的列表变量:

x=[[],[],[],[],[],[],[],[]]

基本上我想创建一个空列表的列表,其长度等于我上面提到的字典中的键数。 这里的事情是字典可能会有所不同。 也就是说,字典“数据”中每个字典中的信号数量可能会有所不同。

x = []
for _ in range(len(data)):
    x.append([])

列表推导式非常适合在这样的多维数据结构中移动。

在这种情况下,它是一个两层数据结构,因此您需要两个内部for循环。

>>> [[] for simcom in data.values() for sig in simcom ]
[[], [], [], [], [], [], [], []]

这真的很好,因为如果你让它们保持简单,你可以像读英语短语一样阅读它们。 上面说

每个 sim/com 的空列表,这是我的数据字典中的一个值,对于这个 sim/com 中的每个信号。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM