簡體   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