擅长:python、mysql、java
<p>您可以使用numpy和collections获得所有值的计数。您的问题不清楚2D列表中的数值实际上是数字还是字符串,但只要数值在第一位,单词在第二位,这两种情况都适用:</p>
<pre class="lang-py prettyprint-override"><code>import numpy
from collections import Counter
input1 = [['0.001251993149471442', 'herfst'], ['0.002232327408019874', 'herfst'], ['0.002232327408019874', 'herfst'], ['0.002232327408019874', 'winter'], ['0.002232327408019874', 'winter']]
input2 = [[0.001251993149471442, 'herfst'], [0.002232327408019874, 'herfst'], [0.002232327408019874, 'herfst'], [0.002232327408019874, 'winter'], [0.002232327408019874, 'winter']]
def count(input):
oneDim = list(numpy.ndarray.flatten(numpy.array(input))) # flatten the list
del oneDim[0::2] # remove the 'numbers' (i.e. elements at even indices)
counts = Counter(oneDim) # get a count of all unique elements
maxString = counts.most_common(1)[0] # find the most common one
print(maxString)
count(input1)
count(input2)
</code></pre>
<p>如果还想在计数中包括数字,只需跳过<code>del oneDim[0::2]</code>行</p>