2015-04-07 58 views
0

我在Python中有以下結構。如何修改python中的這個數據結構

{ 
    "TimeSeries": [{ 
    "Values": [ 
     [1428278400000.0, 44.44], 
     [1428282000000.0, 46.15], 
     [1428285600000.0, 38.46], 
     [1428289200000.0, 47.62], 
     [1428292800000.0, 35.29], 
     [1428296400000.0, 40.0], 
     [1428300000000.0, 33.33], 
     [1428303600000.0, 43.48], 
     [1428307200000.0, 44.44], 
     [1428310800000.0, 40.0], 
     [1428314400000.0, 47.22], 
     [1428318000000.0, 37.93], 
     [1428321600000.0, 45.45], 
     [1428325200000.0, 46.15], 
     [1428328800000.0, 42.86], 
     [1428332400000.0, 44.83], 
     [1428336000000.0, 47.37], 
     [1428339600000.0, 40.0], 
     [1428343200000.0, 38.46], 
     [1428346800000.0, 47.06], 
     [1428350400000.0, 42.31], 
     [1428354000000.0, 50.0], 
     [1428357600000.0, 47.62], 
     [1428361200000.0, 42.86], 
     [1428364800000.0, 0.0] 
    ], 
    "name": "Server2" 
    }, { 
    "Values": [ 
     [1428278400000.0, 55.56], 
     [1428282000000.0, 53.85], 
     [1428285600000.0, 61.54], 
     [1428289200000.0, 52.38], 
     [1428292800000.0, 64.71], 
     [1428296400000.0, 60.0], 
     [1428300000000.0, 66.67], 
     [1428303600000.0, 56.52], 
     [1428307200000.0, 55.56], 
     [1428310800000.0, 60.0], 
     [1428314400000.0, 52.78], 
     [1428318000000.0, 62.07], 
     [1428321600000.0, 54.55], 
     [1428325200000.0, 53.85], 
     [1428328800000.0, 57.14], 
     [1428332400000.0, 55.17], 
     [1428336000000.0, 52.63], 
     [1428339600000.0, 60.0], 
     [1428343200000.0, 61.54], 
     [1428346800000.0, 52.94], 
     [1428350400000.0, 57.69], 
     [1428354000000.0, 50.0], 
     [1428357600000.0, 52.38], 
     [1428361200000.0, 57.14], 
     [1428364800000.0, 0.0] 
    ], 
    "name": "Server1" 
    }], 
    "dates": [1428278400000.0, 1428282000000.0, 1428285600000.0, 1428289200000.0, 1428292800000.0, 1428296400000.0, 1428300000000.0, 1428303600000.0, 1428307200000.0, 1428310800000.0, 1428314400000.0, 1428318000000.0, 1428321600000.0, 1428325200000.0, 1428328800000.0, 1428332400000.0, 1428336000000.0, 1428339600000.0, 1428343200000.0, 1428346800000.0, 1428350400000.0, 1428354000000.0, 1428357600000.0, 1428361200000.0, 1428364800000.0] 
} 

哪裏TimeSeries是由時代日期和值的值的字典的列表,dates是一個劃時代排序的日期列表。現在我想從server2和中刪除最後一個值,因爲它基本爲零,然後刪除最後一個相應的日期。

所以最終的結構變成了。

{ 
    "TimeSeries": [{ 
    "Values": [ 
     [1428278400000.0, 44.44], 
     [1428282000000.0, 46.15], 
     [1428285600000.0, 38.46], 
     [1428289200000.0, 47.62], 
     [1428292800000.0, 35.29], 
     [1428296400000.0, 40.0], 
     [1428300000000.0, 33.33], 
     [1428303600000.0, 43.48], 
     [1428307200000.0, 44.44], 
     [1428310800000.0, 40.0], 
     [1428314400000.0, 47.22], 
     [1428318000000.0, 37.93], 
     [1428321600000.0, 45.45], 
     [1428325200000.0, 46.15], 
     [1428328800000.0, 42.86], 
     [1428332400000.0, 44.83], 
     [1428336000000.0, 47.37], 
     [1428339600000.0, 40.0], 
     [1428343200000.0, 38.46], 
     [1428346800000.0, 47.06], 
     [1428350400000.0, 42.31], 
     [1428354000000.0, 50.0], 
     [1428357600000.0, 47.62], 
     [1428361200000.0, 42.86] 
    ], 
    "name": "Server2" 
    }, { 
    "Values": [ 
     [1428278400000.0, 55.56], 
     [1428282000000.0, 53.85], 
     [1428285600000.0, 61.54], 
     [1428289200000.0, 52.38], 
     [1428292800000.0, 64.71], 
     [1428296400000.0, 60.0], 
     [1428300000000.0, 66.67], 
     [1428303600000.0, 56.52], 
     [1428307200000.0, 55.56], 
     [1428310800000.0, 60.0], 
     [1428314400000.0, 52.78], 
     [1428318000000.0, 62.07], 
     [1428321600000.0, 54.55], 
     [1428325200000.0, 53.85], 
     [1428328800000.0, 57.14], 
     [1428332400000.0, 55.17], 
     [1428336000000.0, 52.63], 
     [1428339600000.0, 60.0], 
     [1428343200000.0, 61.54], 
     [1428346800000.0, 52.94], 
     [1428350400000.0, 57.69], 
     [1428354000000.0, 50.0], 
     [1428357600000.0, 52.38], 
     [1428361200000.0, 57.14] 
    ], 
    "name": "Server1" 
    }], 
    "dates": [1428278400000.0, 1428282000000.0, 1428285600000.0, 1428289200000.0, 1428292800000.0, 1428296400000.0, 1428300000000.0, 1428303600000.0, 1428307200000.0, 1428310800000.0, 1428314400000.0, 1428318000000.0, 1428321600000.0, 1428325200000.0, 1428328800000.0, 1428332400000.0, 1428336000000.0, 1428339600000.0, 1428343200000.0, 1428346800000.0, 1428350400000.0, 1428354000000.0, 1428357600000.0, 1428361200000.0] 
} 

如何在Python中實現這一點。

+0

是否要刪除所有基本爲零或僅爲最後一個的數據? – flycee

回答

0

就流行過名單的最後一個項目:

for t in my_data['TimeSeries']: 
    date, _ = t['Values'].pop() 
my_data['dates'].remove(date) 

這將更新代替原來my_data。我假定date與列表中的最後一項相同。

0

從列表中刪除最後一個值使用

_list = _list[0:len(_list)-1] 

其中_list可以在一些其他數據結構來安葬...

crazyData['yatta'][42]['foo']['here is my list'] = crazyData['yatta'][42]['yatta']['here is my list'][0:len(crazyData['yatta'][42]['yatta']['here is my list'])-1] 

^我知道你喜歡使用滾動條太。

+0

這構建了一個全新的列表,您需要將其重新分配到結構中,「pop()」在不構建新列表的情況下執行相同的操作。 – AChampion

+0

大聲笑有趣的是,蟒蛇列表實現了一個流行音樂沒有推。我從來不知道。 – kpie