2017-03-02 27 views
-1

我想要定义一个函数,接受作为输入列表的整数,例如[[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

你已经有了一个函数('sort_nested_lists()'),它正在得到一个输入('user_list')。所以你已经有了一个函数输入。请尝试重新翻译您正在寻找的内容。 – Alfe

+0

对不起,我基本上试图消除我的第一行代码,要求用户输入,我试图插入此代码到一个较大的文件,并不希望提示“请输入一个整数列表”以运行时显示在终端中。希望这更有意义....... –

回答

0

使用Python中的排序()

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

例如键= len参数。

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]]