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

时间:2017-02-19 20:05:35

标签: 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_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]]

任何额外的帮助都会很棒!

2 个答案:

答案 0 :(得分:2)

你不必这么复杂。只需使用以下单行

<label><input type="file" name="fuckedfile" id="fuckedfile" style="display:none">
CLICK!</label><br/>

这就是全部。当您指定return sorted(user_list,key=sum) 时,key会根据给定的函数比较两个元素,适用sorted(..)中的元素。所以在这里它会根据元素的总和来比较两个列表。

答案 1 :(得分:2)

要实现此目的,您可以使用调用sorted函数作为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]]

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