解压缩填充列表的数组

时间:2014-07-12 14:40:07

标签: python arrays list sorted

我从这样的事情开始:

[a,b,s,d]
[k,e,f,s,d]
[o,w,g]

然后我想按长度按降序重新排列它们,以便得到这个:

[k,e,f,s,d]
[a,b,s,d]
[o,w,g]

但是,要做到这一点,我将其中的每一个都附加到一个数组中:

arr = [[a,b,s,d], [k,e,f,s,d], [o,w,g]] 

所以我可以使用:

sorted(arr, key=len).reverse()

但是现在我无法解压缩到:

[k,e,f,s,d]
[a,b,s,d]
[o,w,g]

想法?

感谢。

1 个答案:

答案 0 :(得分:0)

reverse()是一个就地功能:

arr = [['a','b','s','d'], ['k','e','f','s','d'], ['o','w','g']] 
a = sorted(arr, key=len)
print a
# [['o', 'w', 'g'], ['a', 'b', 's', 'd'], ['k', 'e', 'f', 's', 'd']]
print a.reverse()
# None
print a
# [['k', 'e', 'f', 's', 'd'], ['a', 'b', 's', 'd'], ['o', 'w', 'g']]

reverse()没有输出,但它确实反转了数组。