擅长:python、mysql、java
<p>另外两个简单的列表理解答案适用于具有属性的对象元组的任意列表。但是,Python有一些很好的内置功能,可以让您选择对象的字符串表示,大多数内置类型都已经有了。例如,任何<code>tuple</code>都可以转换为它的字符串表示形式,只需将<code>tuple</code>与<code>str(tuple)</code>包在一起:</p>
<pre><code>>>> str((5, 4))
'(5, 4)'
</code></pre>
<p>现在,如果使用任意对象的元组来执行此操作,那么您将得到一个字符串,它具有实际的对象句柄,比如<code><__main__.YourClass object at 0x10ad58fd0></code>,这很难看。但是,如果您在类定义中提供了一个<code>__repr__</code>函数,那么您可以将该标准句柄改为您喜欢的东西。在本例中,<code>label</code>似乎是返回对象的字符串表示的一个很好的候选者。下面是一个使用相同代码创建的最小示例:</p>
^{pr2}$
<blockquote>
<p>['(object_1, object_2)', '(object_3, object_1)', '(object_4, object_1)', '(object_2,)']</p>
</blockquote>
<p>现在我认为<em>这个</em>非常python,在后面的代码中非常清楚,并且定义<code>__repr__</code>只需要额外的两行代码。现在您可以<code>print(my_obj)</code>而不是{<cd9>},它读起来很好。在</p>