在python中创建列表的空列表

时间:2014-04-04 08:13:46

标签: python list dictionary

我有这样的字典:

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=[[],[],[],[],[],[],[],[]]

基本上我想创建一个空列表列表,其长度等于我上面提到的字典中的键数。这里的东西是字典可能会有所不同。这是字典中每个字典中的信号数量'数据'可以变化。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

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

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

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

  

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