【发布时间】:2016-05-19 18:43:22
【问题描述】:
我有一个关于这段代码的问题:dict 中的元素数量在每次迭代时都不同:
d["one"] = 12
d["two"] = 13
d["three"] = 14
maxkey, maxvalue = max(d.iteritems(), key=lambda x:x[1])
minkey, minvalue = min(d.iteritems(), key=lambda x:x[1])
如果 "one" "twor" 等的值不同,则一切正常。
现在假设如下:
d["one"] = 13
d["two"] = 13
maxkey, maxvalue = max(d.iteritems(), key=lambda x:x[1])
minkey, minvalue = min(d.iteritems(), key=lambda x:x[1])
我想要以下结果:如果值相等,则 minkey, minvalue 不应与 maxkey, maxvalue 相同(如果有多个相等的条目,它应该是另一个条目/或其他条目之一)。有没有一种在 Python 中实现它的简单方法?非常感谢您的帮助
例子:
d["one"] = 12
d["two"] = 12
d["three"] = 12
minkey, minvalue = min(d.iteritems(), key=lambda x:x[1])
maxkey, maxvalue = max(d.iteritems(), key=lambda x:x[1])
结果
minkey = "three"
maxkey = "three"
但我想要,如果
minkey = "three"
那么 maxkey 应该是
maxkey = "one"
或
maxkey = "two"
【问题讨论】:
-
您能否举一个专用/所需输出的示例?
标签: python dictionary max min