2016-04-27 51 views
0

如何在一行中獲得minmax如何獲得1行的上限和下限?

d = {'k1': ['2000-01-01', '2003-01-01'], 
    'k2': ['2001-01-01', '2003-01-21'], 
    'k3': ['2001-11-01', '2002-01-01'], 
} 
d0 = min((a[0] for a in d.itervalues())) # '2000-01-01' 
d1 = max((a[1] for a in d.itervalues())) # '2003-01-21' 

當然,真正的字典比這個例子長得多。當然也d0, d1 = min(...), max(...)是不是我要求的棘手:)

+0

你的意思是#而不是%? – bashrc

+0

是的,謝謝你的糾正。 – Lee

回答

1
reduce(lambda lst, val: [min(lst[0],val[0]), max(lst[1],val[1])],iter(d.itervalues())) 
+0

爲什麼添加'iter()'?它沒有'iter'給出了相同的結果 – Lee