2017-10-22 11 views
1

MATLABから来て、私は本当にPythonには新しく、まだその構文を理解しようとしています。 私は私が望むものをやってことに成功しましたが、私は唯一の1行でそれを行うための適切な方法があると確信しています...dict(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

を知っていますか:しかし、あなたはおそらくしたいことは

dataSelection = [item for serialToFind in serialsToFind for item in data if item['SerialNumber'][:8] == serialToFind[:8]] 

は注意ですか?私は確かにしないので。 –

答えて

0

あなたドン」どのようなdataですか?一般的には、代わりに

serials = linspace(0,len(data)-1,len(data), dtype='int') 
for serial in serials: 

を行うのちょうどあなたが何をやっている

for serial in range(len(data)): 
+0

blue_noteありがとう! – Maxime

関連する問題