我花了相当长的时间寻找是否有类似的问题。不幸的是,我不能仅仅对之前提出的问题发表评论,看看为什么我的尝试没有成功。 在这个网站上有一个问题,人们想根据最接近某个特定值的数字对列表进行排序。 他的例子:不是逐字照搬他的例子,而是提出一个有效的解决方案
list_x = [1,2,5,11]
list_x.sort(key = lambda x: abs(x-4))
它将返回按最接近4(5,2,1,11)
的值排序的列表
然而,当试图按最接近于零的值对更大的列表进行排序时,我遇到了这样的情况:
我到底是怎么不正确地阻止列表按绝对值排序?在
这是listA的输入数据
for i in decrange(0, 13, i):
code = (func(seq, float(i)))
codes = '%.3f' % code
listA.append(float(codes))
listB.append(str(codes))
listA.sort(key = lambda k: abs(k))
x = listA[0]
answer = listB.index(x) * float(.01)
你得到的错误似乎是不言自明的:
看起来你的列表中有一个字符串值而不是数值。这将起作用(假设整数值):
^{pr2}$…但最好弄清楚为什么你的列表中有字符串,然后改为修正。在
相关问题 更多 >
编程相关推荐