擅长:python、mysql、java
<p>你可以使用<a href="https://docs.python.org/2/library/collections.html#collections.Counter" rel="noreferrer">^{<cd1>}</a></p>
<pre><code>from collections import Counter
a = [(1,2),(1,4),(1,2),(6,7),(2,9)]
counter=Counter(a)
print counter
</code></pre>
<p>这将输出:</p>
<pre><code>Counter({(1, 2): 2, (6, 7): 1, (2, 9): 1, (1, 4): 1})
</code></pre>
<p>它是一个类似字典的对象,项(本例中是元组)作为键,值包含看到该键的次数。您的<code>(1,2)</code>元组出现两次,而所有其他元组只出现一次。</p>
<pre><code>>>> counter[(1,2)]
2
</code></pre>
<hr/>
<p>如果您对元组的每个单独部分感兴趣,则可以对元组中的每个元素使用相同的逻辑。</p>
<pre><code>first_element = Counter([x for (x,y) in a])
second_element = Counter([y for (x,y) in a])
</code></pre>
<p><code>first_element</code>和<code>second_element</code>现在包含一个<code>Counter</code>值在元组中每个元素</em>中出现的次数</p>
<pre><code>>>> first_element
Counter({1: 3, 2: 1, 6: 1})
>>> second_element
Counter({2: 2, 9: 1, 4: 1, 7: 1})
</code></pre>
<p>同样,这些对象类似于字典,因此您可以检查特定值直接出现的频率:</p>
<pre><code>>>> first_element[2]
1
</code></pre>
<p>在元组列表的第一个元素中,值<code>2</code>出现了1次。</p>