在python中创建空列表
我有一本这样的字典:在python中创建空列表,python,list,dictionary,Python,List,Dictionary,我有一本这样的字典: data = { 'Sim_1':{ 'sig1':[ 1, 2, 3 ], 'sig2':[ 4, 5, 6 ] }, 'Sim_2':{ 'sig3':[ 7, 8, 9 ], 'sig4':[
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=[[],[],[],[],[],[],[],[]]
我想创建如下列表变量:
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 simcom in data.values() for sig in simcom ]
[[], [], [], [], [], [], [], []]
这真的很好,因为如果你保持它们的简单,你就可以像读一个英语短语一样读懂它们。上面说
每个sim/com的空列表,它是此sim/com中每个信号的数据记录中的一个值
上面的脚本创建了一个空列表,比如:x=[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]、[]。。因为我正在考虑字典“数据”中的字典元素,所以他想计算sig,不是SIM/COM。我想指出,data
对于变量来说是个糟糕的名字,因为实际上计算机上的一切都是数据。:)