抱歉,我不得不问,但我环顾了一会儿,没有找到任何帮助。
这是问题;我有一个数组列表:
list = [["I","Am"], ["An","Array", "Within", "An Array"]]
我想按照它所包含的数组的长度对“list”进行排序。
Sofar我试过了:
list.sort()
#and
def nc(x):
return len(x)
list.sort(key=nc)
但这些都返回“无”。 我真的很感激这方面的一些帮助。 提前谢谢!
答案 0 :(得分:4)
.sort()
方法就地对列表进行排序。像大多数改变对象的方法一样,它返回None
,但是如果你查看列表,你会看到已经已经排序了。如果要对已排序的列表进行复制,则:
newlist = sorted(original_list, key=len)
会做到的。请注意,您的nc
功能虽然正确,但却比需要的更精细。
答案 1 :(得分:3)
a_list.sort()
结果a_list
要进行排序(自行修改)并按照设计返回None
。
sorted( a_list, key=len )
将返回已排序的列表。
BTW您的输入数据已经排序,预期结果是什么?
答案 2 :(得分:0)
试试这个:
list = [["I","Am"], ["An","Array", "Within", "An Array"]]
print(sorted(list, key = lambda ele : len(ele), reverse = True))
答案 3 :(得分:0)
list_arrays = [["I","Am"], ["An","Array", "Within", "An Array"]]
list_output = []
index = 0
for i in list_arrays:
sorted_array = sorted(list_arrays[index])
list_output.insert(index, sorted_array)
index = index + 1
print list_output
这将为您提供对数组数组进行排序的方法