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
    的每一项
  • 使用sorted()方法对项和返回列表进行排序
  • 使用
    join()
    方法从列表中创建字符串
  • 使用
    append()
    list方法将排序项目添加到新列表
    l2
  • 打印l2
  • e、 g


    如果我们想要公平和比较时间,需要将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']