来自MATLAB,我对Python很陌生,我仍然试图理解它的语法。 我成功地做了我想做的事情,但我确信只有一行才能做到这一点......
serialsToFind = ['43788273-1', '45788259-2', '87788202']
dataSelection = []
from numpy import linspace
serials = linspace(0,len(data)-1,len(data), dtype='int')
for serialToFind in serialsToFind:
for serial in serials:
if data[serial]['SerialNumber'][:8] == serialToFind[:8]:
dataSelection.append(data[serial])
非常感谢,
最高
答案 0 :(得分:0)
你不能说data
是什么。但是,你可能想要的是
dataSelection = [item for serialToFind in serialsToFind for item in data
if item['SerialNumber'][:8] == serialToFind[:8]]
注意:一般来说,而不是做
serials = linspace(0,len(data)-1,len(data), dtype='int')
for serial in serials:
只是做
for serial in range(len(data)):