Python 如何对字符串列表中的每个字符串进行排序?
我想按字母顺序对字符串列表中的每个字符串进行排序 比如说,Python 如何对字符串列表中的每个字符串进行排序?,python,string,list,sorting,Python,String,List,Sorting,我想按字母顺序对字符串列表中的每个字符串进行排序 比如说, l1 = ["bba", "yxx", "abc"] 我想把它分类 l1 = ["abb", "xxy", "abc"] 我可以在for循环中完成它,但不知道这是否是一种使用python列表理解的更具python风格的方法。谢谢:D只需使用排序内置功能即可 l1 = ["bba", "yxx", "abc"] print [''.join(sorted(i)) for i in l1] 使用列表理解的另一种方法(如果字符串的固定长
l1 = ["bba", "yxx", "abc"]
我想把它分类
l1 = ["abb", "xxy", "abc"]
我可以在for循环中完成它,但不知道这是否是一种使用python列表理解的更具python风格的方法。谢谢:D只需使用
排序
内置功能即可
l1 = ["bba", "yxx", "abc"]
print [''.join(sorted(i)) for i in l1]
使用列表理解的另一种方法(如果字符串的固定长度为3)是:
print ['{0}{1}{2}'.format(*sorted(i)) for i in l1]
使用和:
使用排序方法和字符串联接方法进行列表压缩
>>> l1 = ["bba", "yxx", "abc"]
>>> [''.join(sorted(i)) for i in l1]
['abb', 'xxy', 'abc']
>>>
兰姆达
>>> l1
['bba', 'yxx', 'abc']
>>> map(lambda x:"".join(sorted(x)),l1)
['abb', 'xxy', 'abc']
适合Python初学者
为循环迭代列表l1
的每一项
join()
方法从列表中创建字符串append()
list方法将排序项目添加到新列表l2
如果我们想要公平和比较时间,需要将lambda one转换成一个列表。
[“”.join(排序(i))for i in l1]
>>> l1
['bba', 'yxx', 'abc']
>>> map(lambda x:"".join(sorted(x)),l1)
['abb', 'xxy', 'abc']
>>> l1
['bba', 'yxx', 'abc']
>>> l2 = []
>>> for i in l1:
... a = sorted(i)
... b = "".join(a)
... l2.append(b)
...
>>> l2
['abb', 'xxy', 'abc']