擅长:python、mysql、java
<p>如果你想让它返回更多的结果,它需要计算更多的结果。不是返回它找到的第一个匹配项,而是需要它将结果添加到列表中,然后返回该列表:</p>
<pre><code>contentAslist = [
"abcd",
"efgh",
"abcd",
"ijk",
"lmno",
"ijk",
"lmno",
"ijk",
]
def getallDups():
lc = 0
result = []
for eitem in contentAslist:
lc += 1
if contentAslist.count(eitem) > 1:
result.append((lc, eitem))
return result
data = getallDups()
print data
</code></pre>
<p>然而,这是一个非常低效的方法,O(N^2),因为计数列表()方法对于列表中的N个项是O(N),我们调用它N次。在</p>
<p>更好的方法是使用哈希。请注意,这里的返回类型非常不同,但可能更有用,并且可以很容易地转换为原始表单。在</p>
^{pr2}$
<p>上述解为O(N)。在</p>
<p>样本输入:</p>
<pre><code>abcd
efgh
abcd
ijk
lmno
ijk
lmno
ijk
</code></pre>
<p>输出:</p>
<pre><code>abcd : 1 3
ijk : 4 6 8
lmno : 5 7
</code></pre>