<pre><code>def find_duplicates(inputList, occurrences, errorMessage):
'''find_duplicates(inputList, occurrences) -> Finds and returns all duplicates in list l
which occur at least 'occurrences' times
If none are found then errorMessage is returned'''
curr = 0
prev = 0
occurrencesFound = 0
duplesFound = []
inputList = sorted(inputList)
print(inputList)
for i in range(len(inputList)):
prev = curr
curr = inputList[i]
occurrencesFound[curr] = 0
if curr == prev and duplesFound.count(curr) == 0:
occurrencesFound[curr] += 1
if occurrencesFound[curr] == occurrences:
duplesFound.<a href="https://www.cnpython.com/list/append" class="inner-link">append</a>(curr)
occurrencesFound = 0
if duplesFound == []:
duplesFound = errorMessage
return duplesFound
</code></pre>
<p>这是我编写的python3代码,用于返回列表中出现“出现”次的所有值,如果没有找到,则显示所选的错误消息。不过,我得到的是:</p>
^{pr2}$
<p>我能看出什么是错误,但我不确定。我要做的是对列表中的每个不同值有一个单独的出现次数。例如,如果我有一个列表[2,2,5,7,7,7,7,8,8,8],我希望occurrencesFound[2]结束为2,occurrencesFound[5]结束为1,occurrencesFound[7]结束为4,依此类推。在</p>
<p>这样,代码将检查是否有任何数字至少出现了用户要求的次数,然后返回所有发生的数字。不过,我用的方法效果并不好。。。在</p>
<p>我想知道的是为什么这是一个错误,以及我可以如何修复它。我试着用occurrencesFound(curr)来代替,但效果并不好。然而,这个问题在<a href="https://stackoverflow.com/questions/18232313/typeerror-function-object-does-not-support-item-assignment">"TypeError: 'function' object does not support item assignment"</a>中得到了回答。有什么想法吗?在</p>