擅长:python、mysql、java
<p>可以使用<code>collections.counter</code>获取每个列表中的单词数,然后<code>operator.itemgetter</code>仅获取应用于单词列表的单词。那么这个结果的最大值就是你的数字。你知道吗</p>
<pre><code>from collections import Counter
from operator import itemgetter
word_list = ['red', 'blue', 'yellow', 'black']
rotationssplitlist = [
['the', 'black', 'dog'],
['the', 'blue', 'blue', 'dog']
]
get_words = itemgetter(*word_list)
matchdict = {f'list{i}': max(get_words(Counter(l)))
for i, l in enumerate(rotationssplitlist, 1)}
</code></pre>
<p>其结果如下:</p>
<pre><code>{'list1': 1, 'list2': 2}
</code></pre>
<p>但为什么要做口述呢?口述的名字毫无意义,我想,你可以列一个匹配计数的清单。它们的索引与原始列表相同。你知道吗</p>
<pre><code>matches = [max(get_words(Counter(l))) for l in rotationssplitlist]
</code></pre>
<p>这将导致:</p>
<pre><code>[1, 2]
</code></pre>
<p>要找到匹配项最多的列表的索引,可以使用以下方法:</p>
<pre><code>[i for i, m in enumerate(matches) if m == max(matches)]
</code></pre>
<p>结果:</p>
<pre><code>[1]
</code></pre>