擅长:python、mysql、java
<p>您可以展平输入,然后使用<code>collections.Counter</code>:</p>
<pre><code>import collections
myconcepts = ["method", "standing"]
mylist = [[5274919, ["report", "porcelain", "firing", "technic"]], [5274920, ["implantology", "dentistry"]], [5274921, ["method", "recognition", "long", "standing", "root", "perforation", "molar"]], [5274923, ["exogenic", "endogenic", "cause", "tooth", "jaw", "anomaly", "method", "standing"]]]
def flatten(d):
for i in d:
yield from [i] if not isinstance(i, list) else flatten(i)
r = collections.Counter(flatten(mylist))
result = {i:r.get(i, 0) for i in myconcepts}
</code></pre>
<p>输出:</p>
<pre><code>{'method': 2, 'standing': 2}
</code></pre>
<hr/>
<p>编辑:记录查找:</p>
<pre><code>result = {i:sum(i in b for _, b in mylist) for i in myconcepts}
</code></pre>
<p>输出:</p>
<pre><code>{'method': 2, 'standing': 2}
</code></pre>