擅长:python、mysql、java
<p>元组是不可变的,这可能是您正在发现的问题。另一个简单的函数是更高级的。见下文:</p>
<p>元组列表格式为<code>lst</code>,但是由于元组是不可变的,而列表是可变的,所以选择将<code>lst</code>更改为列表列表是一种有效的方法。然后,由于<code>lst</code>是一个列表列表,每个元素都由'letter,count,frequency%'组成,所以带有<code>lambda</code>的排序函数可以用来根据您想要的任何索引进行排序。以下内容将插入<code>for line in fop:</code>循环之后。在</p>
<pre><code>lst = []
for ltrs, c in counts.items():
lst.append([ltrs,c])
totalcount = sum([x[1] for x in lst]) # sum all 'count' values in a list comprehension
for elem in lst:
elem.append((elem[1]/totalcount)*100) # now that each element in 'lst' is a mutable list, you can append the calculated frequency to the respective element in lst
lst.sort(reverse=True,key=lambda lst:lst[2]) # sort in-place in reverse order by index 2.
</code></pre>