首页 > 解决方案 > 如何排序以便以数字开头的字符串作为第一个字符移动到列表的末尾

问题描述

我有一个问题,我无法找到一种方法来对字符串列表进行排序,使得以数字开头的值最后排序,而以字母开头的值位于列表的开头

我尝试过使用lambdasortsorted方法,但它总是在列表的开头使用数字排序。

这是我尝试过的

if __name__ == "__main__":
    l = ["9 1 7 2", "hell bag", "8 7", "deserve respect three", "phone exit retired"]
    print(sorted(l))

这给了我以下输出,

['8 7', '9 1 7 2', 'deserve respect three', 'hell bag', 'phone exit retired']

我想要以下输出,

['deserve respect three', 'hell bag', 'phone exit retired', '8 7', '9 1 7 2']

标签: python-3.xsorting

解决方案


您可以使用reversed()方法来获取目标结果,如下所示: print(list(reversed(sorted(l))))

输出是: ['phone exit retired', 'hell bag', 'deserve respect three', '9 1 7 2', '8 7']


推荐阅读