擅长:python、mysql、java
<p>可以将<a href="https://docs.python.org/3/library/functions.html#min" rel="nofollow noreferrer">^{<cd1>}</a>与<a href="https://www.python.org/dev/peps/pep-0289/" rel="nofollow noreferrer">additional filter condition</a>一起使用,测试元素是否为<code>> 0</code>:</p>
<pre><code>>>> leastFreq = [4, 2, 1, 0, 3, 0]
>>> min(x for x in leastFreq if x > 0)
1
</code></pre>
<p>但是这样,你就失去了这个计数属于哪个字符的信息。您可以创建一个<a href="https://docs.python.org/3/library/stdtypes.html#typesmapping" rel="nofollow noreferrer">dictionary</a>,将元音映射到它们各自的计数,而不是五个不同的变量:</p>
<pre><code>>>> text = "potato"
>>> counts = {c: text.count(c) for c in "aeiou"}
>>> counts
{'a': 1, 'i': 0, 'e': 0, 'u': 0, 'o': 2}
>>> counts["o"]
2
</code></pre>
<p>然后再次将<code>min</code>与生成器表达式和特定的<code>key</code>函数一起使用(按计数排序,而不是按元音本身排序)。你知道吗</p>
<pre><code>>>> min((c for c in counts if counts[c] > 0), key=counts.get)
'a'
</code></pre>
<p>如果您对所有字母的计数感兴趣,也可以使用<a href="https://docs.python.org/3/library/collections.html#collections.Counter" rel="nofollow noreferrer">^{<cd5>}</a>。你知道吗</p>