【发布时间】:2017-07-28 20:38:25
【问题描述】:
我一直在调试一个我一直试图正确运行的程序,这一切都归结为如下第一行代码。我有一个键(字符串)和值(整数)的字典。我正在尝试按升序对它们进行排序,以便获得最小的元素。但是,返回值的顺序没有意义。它不是首先返回最小的,实际上它返回的是最大的(尽管文档清楚地表明它应该按升序排列)。它也不是按字母顺序排列的,即使第一个字符串是 AAAAA..AAA - 但它不遵循字母顺序。我什至不确定如何访问 sorted 返回的元素以及它是什么类型。根据我在实验时收到的错误,它是一个“列表”。我怎么解决这个问题?这一行使计算全部错误。
kmerMin = (sorted(topkmerdict,key=lambda x: x[1]))
print kmerMin
print kmerMin[0]
print topkmerdict[kmerMin[0]]
【问题讨论】:
-
请展示
topkmerdict的样子 -
请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。我们应该能够将您发布的代码粘贴到文本文件中并重现您描述的问题。
-
我想你可以用一行来解决这个问题,给
topkmerdict赋值,然后显示你期望的输出和你得到的。 -
@asiviero 我已经添加了 topkmerdict 和排序行返回的内容
-
@Prune 谢谢,我添加了它们。我期望的是有一个按值排序的数据结构,以便我可以获得具有最小值的元素
标签: python list sorting dictionary primary-key