Python ';int';对象不可调用错误
所以我在解决一个与排序相关的问题时遇到了这个错误Python ';int';对象不可调用错误,python,sorting,Python,Sorting,所以我在解决一个与排序相关的问题时遇到了这个错误 t=(input()).rsplit(' ') t1=int(t[0]) t2=int(t[1]) k=[] for i in range(0,t1): k.append(input().rsplit(' ')) k6=int(input()) for i in range(0,t1): k[i][k6]=int(k[i][k6]) k.sort(key=k6) for i in range(0,t1): for j in
t=(input()).rsplit(' ')
t1=int(t[0])
t2=int(t[1])
k=[]
for i in range(0,t1):
k.append(input().rsplit(' '))
k6=int(input())
for i in range(0,t1):
k[i][k6]=int(k[i][k6])
k.sort(key=k6)
for i in range(0,t1):
for j in range(0,t2):
print(k[i][j],end=' ')
print()
回溯(最近一次呼叫最后一次):
文件“solution.py”,第10行,在
k、 排序(键=k6)
TypeError:“int”对象不可调用
请任何人帮我做这个。
问题是文档中的这一点: key参数的值应该是一个函数,它接受一个参数并返回一个用于排序的键。这种技术很快,因为每个输入记录只调用一次键函数 例如:
Traceback (most recent call last):
File "solution.py", line 10, in <module>
k.sort(key=k6)
TypeError: 'int' object is not callable
所以基本上你能做的就是写一个像这样的lambda函数。尽管您必须解决几个问题才能获得预期的结果。您应该在此处解释您的程序应该做什么,而不是链接到外部资源来解释问题。
排序方法的键必须是可调用的,即方法k6
是整数。不仅如此,我还得到了另一个:13列1错误| E0602未定义名称“j”[pyflakes]
student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
sorted(student_tuples, key=lambda student: student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]