Sorting, python 3


def sorting(String, List):  
List = [1, 3, 2, 4, 6, 5]  
if String == "asc":
return List.sort() 
elif String == "desc": 
return List.sort(reverse=True) 
elif String == "none": 
return List 
res = sorting("asc", List)
print("List in ascending order: ", res)

这段代码不起作用,如果字符串是asc或desc,我希望它按升序和降序输出列表,如果字符串为none,则按原样输出列表。我能得到帮助吗?

List.sort()对列表进行适当排序,不返回任何内容。您的两个选择是:

def sorting(String, List):  
List = [1, 3, 2, 4, 6, 5]  
if String == "asc":
List.sort() 
elif String == "desc": 
List.sort(reverse=True) 
return List

这带来了更改原始列表的不幸副作用,在这种情况下这并不重要。另一种方法是使用sorted函数,该函数按排序顺序返回一个新列表。

def sorting(String, List):  
List = [1, 3, 2, 4, 6, 5]  
if String == "asc":
return sorted(List) 
elif String == "desc": 
return sorted(List, reverse=True) 
return List

最新更新