擅长:python、mysql、java
<p>在您的例子中,即使您考虑了<code>i=2</code>一次,您也会再次检查列表中的2,因为它存在多次。这就是为什么2和3会在<code>listsal3</code>中出现两次。相反,您只需要为每个唯一的项目浏览一次列表。你知道吗</p>
<pre><code>listsal2 = [1,2,2,3,3, 4]
newlist = set(listsal2)
listsal3 = []
counter = 0
for i in newlist:
item = listsal2.count(i)
if item > 1:
counter = item
print counter
while counter > 1:
listsal3.append(i)
counter = counter - 1
print listsal2, listsal3
</code></pre>
<p>要从列表中获取唯一项,请将其转换为一个集合。你知道吗</p>
<p>另一种方法是:
只需保留一个包含每个唯一元素的计数的列表,取其最大值,并追溯到它对应的元素。你知道吗</p>
<pre><code>newset = set(listsal2)
newlist = list(set)
counts = []
for item in newlist:
counts.append(listsal2.count(item))
maxcount = max(counts)
max_occurring_item = newlist[counts.index(maxcount)]
</code></pre>