【发布时间】:2016-01-14 19:16:07
【问题描述】:
在 Python 3 中,我为特定数据结构创建了一个自定义类 C,可用作可迭代对象。
但是该类确保对于C 中的任何数据结构c,c[0] 将是c 中所有值的最小值。
有没有一种方法可以让min(c) 的调用简单地返回c[0] 而不会无用地探索所有结构? (如果c 为空,则像往常一样使用ValueError)
【问题讨论】:
-
我不这么认为。如果 Python 真的是面向对象的,那不是很好吗? :P
-
min()基本上用于多个对象(或列表/可迭代)。简单地定义一个实例方法min()并从中返回c[0]不是更好吗?并调用c.min()而不是min(c)。 -
@AnandSKumar 可能,但更不像pythonic!
-
是什么让你觉得它不那么 Pythonic?
-
能否请您粘贴
C班级的代码?
标签: python python-3.x overriding minimum