擅长:python、mysql、java
<p>不知道这是不是你想要的。。在</p>
<p>您可以从三元组的列表中删除重复项,例如</p>
<p>假设你得到了<code>list l</code>中的所有三胞胎</p>
<pre><code>In [39]: l
Out[39]: [(1, 2, 3), (2, 3, 4), (2, 1, 3)]
</code></pre>
<p>从中删除所有重复项</p>
^{pr2}$
<p>然后可以将其转换为list以进行进一步处理</p>
<pre><code>In [41]: list(set(map(tuple, [sorted(x) for x in l])))
Out[41]: [(2, 3, 4), (1, 2, 3)]
</code></pre>
<p>就你而言</p>
<p>修改循环中迭代的列表不是个好主意</p>
<p>因为只要移除假设项1,item2就变成item1,但是循环已经在list中迭代item1,所以检查将被跳过,并且您将无法获得所需的输出</p>
<p>考虑一个小例子</p>
<pre><code>In [43]: l
Out[43]: [(1, 2, 3), (2, 3, 4), (2, 1, 3)]
In [44]: for i in l:
....: if i[0] == 2:
....: l.remove(i)
....:
In [45]: l
Out[45]: [(1, 2, 3), (2, 1, 3)]
</code></pre>