擅长:python、mysql、java
<p>您应该阅读关于如何模拟容器类型的<a href="https://docs.python.org/3/reference/datamodel.html#emulating-container-types" rel="nofollow noreferrer">the official documentation</a>。基本上,一个应该作为容器工作的类(list、dict等)需要实现方法来设置或获取成员<code>__getitem__()</code>,<code>__setitem__()</code>,并迭代项目{<cd3>},并获得项数-方法<code>__len__()</code>。<em>这是最低要求。但您也可以添加删除项和其他操作的功能。</em></p>
<p><code>sorted()</code>内置函数的行为是迭代容器中的元素,并使用您提到的<code>__cmp__(), __ge__(), __le__()</code>方法对它们进行比较,这些方法应该是为项目而不是容器定义的。然后创建一个新的<code>list</code>实例,其中的项已排序,并返回这个新实例。然后可以将其传递给自定义容器的构造函数,也可以使用自定义函数wrap <code>sorted()</code>,该函数将返回所需的类实例。在</p>