我有这样的字典:
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=[[],[],[],[],[],[],[],[]]
基本上我想创建一个空列表列表,其长度等于我上面提到的字典中的键数。这里的东西是字典可能会有所不同。这是字典中每个字典中的信号数量'数据'可以变化。
答案 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中的每个信号,这是我的数据字典中的值。