列表列表中的函数输入问题

时间:2017-03-02 23:13:07

标签: python list function

我正在尝试定义一个接受整数列表列表作为输入的函数,例如[[2, 3], [45, 100, 2], [536], [103, 2, 8]]。它应该返回列表的排序版本,按每个子列表中的整数之和排序,因此返回值为[[2, 3], [103, 2, 8], [45, 100, 2], [536]]。我使用下面显示的代码完成了这个,但这依赖于获取用户输入而不是函数输入。有没有办法基于功能而不是用户输入来实现这一目标?任何帮助都会很棒!

user_list = raw_input("Please enter a list of integers: ")
input_list = user_list.split()
input_list = [eval(a) for a in input_list][0]

def sort_nested_lists(user_list):
    return sorted(user_list, key=sum)

print sort_nested_lists(user_list)

1 个答案:

答案 0 :(得分:0)

在Python的sorted()

中使用key = len参数
user_list = raw_input("Please enter a list of integers: ")
print sorted(user_list, key=len, reverse=False) 

EG。

user_list = [[1,2], [1,2,3,4], [1,2,3,4,5], [1,2,3], [1]]
Out: [[1], [1,2], [1,2,3], [1,2,3,4], [1,2,3,4,5]]