Python 根据每个嵌套列表的总和对列表进行排序

Python 根据每个嵌套列表的总和对列表进行排序,python,python-2.7,list,function,sorting,Python,Python 2.7,List,Function,Sorting,我是python新手,我正在尝试创建一个函数,该函数接受整数列表作为输入,并返回该列表的排序版本,按每个子列表中整数的总和排序。以下是迄今为止我所掌握的代码。任何建议都很好 def sort_nested_lists (user_list): for list in user_list x = sum(user_list)) x = sorted( user_list) return x print sort_nested_lists 这是我的新代码: user_lis

我是python新手,我正在尝试创建一个函数,该函数接受整数列表作为输入,并返回该列表的排序版本,按每个子列表中整数的总和排序。以下是迄今为止我所掌握的代码。任何建议都很好

def sort_nested_lists (user_list):
for list in user_list
    x = sum(user_list))
    x = sorted( user_list)
    return x
print sort_nested_lists
这是我的新代码:

user_list = raw_input("Please enter a list of integers: ")
def sort_nested_lists(user_list):
  return sorted(user_list,key = sum)
print sort_nested_lists
现在我得到一个错误:

请输入整数列表:[[5,2,7,5],[8,2,6,1],[3,1,8,9,5]]


任何额外的帮助都会很好

你不必把事情弄得这么复杂。只需使用以下一个衬里:


就这些。当您指定一个
键时,
排序(..)
将根据它应用于
用户列表中元素的给定函数比较两个元素。因此,在这里,它将根据两个列表的元素之和来比较它们。

要实现这一点,您可以使用键调用函数作为
sum

>>> my_list = [[1, 6, 3], [2,1,0], [10, 3, 9]]
>>> sorted(my_list, key=sum)
[[2, 1, 0], [1, 6, 3], [10, 3, 9]]

结果列表将根据子列表中的整数之和按递增顺序排序

谢谢您的输入!如果我试图使用函数参数来解决这个问题,有没有办法解释为什么下面的代码不会执行?def sort_nested_list(用户列表):返回已排序(用户列表,key=sum)打印排序_nested_lists@AvSmith可能是因为您没有调用函数,为了调用函数,您必须对嵌套列表(您的列表)进行排序。
。如果调用正确,则必须通过给出错误消息、意外输出等更具体地解释代码没有执行
>>> my_list = [[1, 6, 3], [2,1,0], [10, 3, 9]]
>>> sorted(my_list, key=sum)
[[2, 1, 0], [1, 6, 3], [10, 3, 9]]