我花了很长时间来查看是否有类似的问题。不幸的是,我不能只评论以前提出的问题,看看我的尝试失败的原因。
在这个网站上,存在一个问题,即一个人想要根据最接近的数字对特定值进行排序。
他的例子:不是逐字复制他的例子,而是提出了一个工作解决方案
list_x = [1,2,5,11]
list_x.sort(key = lambda x: abs(x-4))它将返回按照最接近4 (5,2,1,11)的值排序的列表
但是,当试图用最接近于零的值对更大的列表进行排序时,这发生在我身上:
listA.sort(key = lambda x: abs(x))
Traceback (most recent call last):
File "", line 1, in
listA.sort(key = lambda x: abs(x))
File "", line 1, in
listA.sort(key = lambda x: abs(x))
TypeError: bad operand type for abs(): 'str'我究竟做了什么不正确的事情,这阻止了列表按绝对值排序?
这是什么使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)
博客围绕Python列表按绝对值排序展开。提到网站上有按接近特定值排序的例子,如按接近4排序。但作者在按接近零排序更大列表时出错,显示类型错误。还给出了列表数据输入代码,探讨了导致无法按绝对值排序的原因。

8813

被折叠的 条评论
为什么被折叠?



