擅长:python、mysql、java
<p>代码的问题在于,您试图从列表<em>中删除一个元素,而您仍在对它进行迭代。</em><a href="https://stackoverflow.com/q/1207406/7431860">This can cause problems.</a>现在,删除“a”,然后“e”占据其位置,列表前进到下一个字母“m”。因此,“e”被跳过,直到下一次迭代。你知道吗</p>
<p>尝试将打印和删除分开,不要从当前正在迭代的列表中删除元素,而是尝试将所有<em>其他</em>元素添加到新列表中。你知道吗</p>
<pre class="lang-py prettyprint-override"><code>string=input().strip()
set1=set(string)
lis=[]
for i in set1:
lis.append(i)
lis.sort()
while len(lis)>0:
maxi=0
for i in lis:
if string.count(i)>maxi:
maxi=string.count(i)
for j in lis:
if string.count(j)==maxi:
print(j,maxi)
dupelis = lis
lis = []
for k in dupelis:
if string.count(k)!=maxi:
lis.append(k)
</code></pre>
<blockquote>
<p>management<br/>a 2<br/>e 2<br/>m 2<br/>n 2<br/>g 1<br/>t 1</p>
</blockquote>
<p><a href="https://repl.it/repls/MindlessExternalMethod" rel="nofollow noreferrer">Demo</a></p>