python实现字符串列表排序?

比如列表
a = ['b','a','c','ab','aa','aaa']
期望排序后结果为:a,b,c,aa,ab,aaa
求教一些简单的实现方法,可以一起讨论
我能想到的就是把相同长度的字符串放一个列表,然后排序,再把所有列表组合起来,感觉比较麻烦

可以使用Python内置的sorted()函数对字符串列表进行排序,同时使用len()函数作为排序的关键字来实现按字符串长度排序。

例如,对于列表a=['b','a','c','ab','aa','aaa'],可以使用以下代码进行排序:

python

sorted_a = sorted(a, key=len)
这将返回一个新的已排序的列表,其中字符串按照长度递增的顺序排列。对于相同长度的字符串,它们将按照它们在原始列表中出现的顺序排列。

如果你需要按照逆序排列,则可以传递reverse=True参数给sorted()函数:

python

sorted_a = sorted(a, key=len, reverse=True)
这将返回一个新的已排序的列表,其中字符串按照长度递减的顺序排列。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-07-01
a = ['b', 'a', 'c', 'ab', 'aa', 'aaa']

a.sort(key=lambda x: str(len(x)) + x)
print(a)
#['a', 'b', 'c', 'aa', 'ab', 'aaa']

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网