2012-12-03 17 views
0

我有字典的這份名單如何使在python Django的自定義數組

{"FieldFlags": "0", "FieldNameAlt": "Please forgive me", "FieldName": "field1", "FieldType": "Text", "FieldJustification": "Left", "FieldValue": "test"}, 
{"FieldJustification": "Left", "FieldNameAlt": "Please forgive me", "FieldName": "min_speed", "FieldType": "Text", "FieldFlags": "0"}, 
{"FieldJustification": "Left", "FieldNameAlt": "Please forgive me", "FieldName": "avg_speed", "FieldType": "Text", "FieldFlags": "0"}, 
{"FieldJustification": "Left", "FieldNameAlt": "Please forgive me", "FieldName": "lowest_speed", "FieldType": "Text", "FieldFlags": "0"}, 
{"FieldJustification": "Left", "FieldNameAlt": "Please forgive me", "FieldName": "air", "FieldType": "Text", "FieldFlags": "0"}, 
{"FieldJustification": "Left", "FieldNameAlt": "Please forgive me", "FieldName": "slope", "FieldType": "Text", "FieldFlags": "0"}] 

對於我的目的,我需要這個數組轉換爲類似

fields = [('field1','test'),('min_speed',''),('avg_speed','')..] 

所以基本上我想要的元組(FiedName,FieldValue)

如果fieldValue方法是不存在的,那麼就應該顯示爲空

我如何可以轉換

回答

4
fields = [(d['FieldName'], d.get('FieldValue', '')) for d in your_list] 
+0

感謝好友時,該會做。 d是什麼意思 – user825904

+0

'd'只是'your_list'中的值的名稱,而它們遍歷它們。它可能是任何東西,但是我們正在迭代** d **字典列表中選擇'd'。 –

0

您還可以使用地圖():

fields = map(lambda d: (d['FieldName'], d.get('FieldValue', '')), your_list)