我的問題是,如何可以輕鬆地組合一些字典鍵,在同一個鍵上的值。基於密鑰對不同的值進行分組,我將在代碼中提供更好的解釋。Python組字典值同一日期
字典
values = [{
"date": "2015-05-07",
"yt": 630.0
},
{
"date": "2015-05-07",
"fb": 16555.0
},
{
"date": "2015-05-07",
"tw": 1234.0
}]
這裏是比如我的字典中。我想要做的是檢查日期,如果該日期存在字典中的某處收集同一日期的值。輸出會是這樣:
values = [
{
"date":"2015-05-07",
"fb":16555.0,
"tw":1234.0,
"yt":630
}
整個DIC:
values=[
{
"date": "2015-04-24",
"fb": 16322.0
},
{
"date": "2015-04-24",
"tw": 1206.0
},
{
"date": "2015-04-28",
"tw": 1215.0
},
{
"date": "2015-04-30",
"tw": 1224.0
},
{
"date": "2015-04-30",
"fb": 16408.0
},
{
"date": "2015-05-01",
"tw": 1226.0
},
{
"date": "2015-05-01",
"fb": 16436.0
},
{
"date": "2015-05-02",
"tw": 1227.0
},
{
"date": "2015-05-02",
"fb": 16451.0
},
{
"date": "2015-05-04",
"fb": 16506.0
},
{
"date": "2015-05-04",
"tw": 1229.0
},
{
"date": "2015-05-05",
"tw": 1232.0
},
{
"date": "2015-05-05",
"fb": 16526.0
},
{
"date": "2015-05-06",
"tw": 1232.0
},
{
"date": "2015-05-06",
"fb": 16541.0
},
{
"date": "2015-05-07",
"yt": 630.0
},
{
"date": "2015-05-07",
"fb": 16555.0
},
{
"date": "2015-05-07",
"tw": 1234.0
},
{
"date": "2015-05-08",
"fb": 16568.0
},
{
"date": "2015-05-08",
"tw": 1238.0
},
{
"date": "2015-05-09",
"fb": 16582.0
},
{
"date": "2015-05-09",
"tw": 1237.0
},
{
"date": "2015-05-10",
"fb": 16594.0
},
{
"date": "2015-05-10",
"tw": 1237.0
},
{
"date": "2015-05-11",
"tw": 1242.0
},
{
"date": "2015-05-11",
"fb": 16600.0
},
{
"date": "2015-05-12",
"tw": 1243.0
},
{
"date": "2015-05-12",
"fb": 16618.0
},
{
"date": "2015-05-13",
"fb": 16630.0
},
{
"date": "2015-05-13",
"yt": 630.0
},
{
"date": "2015-05-13",
"tw": 1246.0
},
{
"date": "2015-05-14",
"yt": 630.0
},
{
"date": "2015-05-14",
"fb": 16635.0
},
{
"date": "2015-05-14",
"tw": 1249.0
},
{
"date": "2015-05-15",
"yt": 630.0
},
{
"date": "2015-05-15",
"fb": 16644.0
},
{
"date": "2015-05-15",
"tw": 1252.0
},
{
"date": "2015-05-16",
"yt": 630.0
},
{
"date": "2015-05-16",
"tw": 1254.0
},
{
"date": "2015-05-16",
"fb": 16654.0
},
{
"date": "2015-05-17",
"tw": 1255.0
},
{
"date": "2015-05-17",
"fb": 16668.0
},
{
"date": "2015-05-17",
"yt": 630.0
},
{
"date": "2015-05-18",
"yt": 632.0
},
{
"date": "2015-05-18",
"tw": 1257.0
},
{
"date": "2015-05-18",
"fb": 16678.0
},
{
"date": "2015-05-19",
"fb": 16688.0
},
{
"date": "2015-05-19",
"yt": 634.0
},
{
"date": "2015-05-19",
"tw": 1256.0
},
{
"date": "2015-05-20",
"yt": 634.0
},
{
"date": "2015-05-20",
"fb": 16695.0
},
{
"date": "2015-05-20",
"tw": 1259.0
},
{
"date": "2015-05-21",
"tw": 126.0
},
{
"date": "2015-05-21",
"yt": 635.0
},
{
"date": "2015-05-21",
"fb": 16698.0
},
{
"date": "2015-05-22",
"tw": 1262.0
},
{
"date": "2015-05-22",
"fb": 16712.0
},
{
"date": "2015-05-22",
"yt": 635.0
},
{
"date": "2015-05-23",
"fb": 16726.0
},
{
"date": "2015-05-23",
"yt": 636.0
},
{
"date": "2015-05-23",
"tw": 1264.0
},
{
"date": "2015-05-24",
"tw": 1265.0
},
{
"date": "2015-05-24",
"yt": 636.0
},
{
"date": "2015-05-24",
"fb": 16731.0
},
{
"date": "2015-05-25",
"yt": 636.0
},
{
"date": "2015-05-25",
"tw": 1269.0
},
{
"date": "2015-05-25",
"fb": 16752.0
},
{
"date": "2015-05-26",
"yt": 637.0
},
{
"date": "2015-05-26",
"fb": 16766.0
},
{
"date": "2015-05-26",
"tw": 127.0
}]
代碼
from collections import defaultdict
res = defaultdict(list)
for v, k in values: res[k].append(v)
print res
Python版本:2.7
你想,如果某個值重複做什麼? –
我想丟棄它。 – marin
就像兩個字典具有相同的「日期」和相同的「密鑰」,但具有不同的值。你什麼意思丟棄? –