For循环在单词列表中按字母顺序排序每个字符

2024-09-29 01:25:26 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个单词列表,我想按列表中的字符进行排序:

['alumni', 'orphan', 'binge', 'peanut', 'necktie']

我想按字母顺序对这些文件进行排序,这样它们最终会成为一个列表:

^{pr2}$

到目前为止,我的代码很尴尬:

for i in range(len(splitfoo)):
    splitedfootmp = sorted(splitfoo[i])

它将单词分成如下字符:['a', 'i', 'l', 'm', 'n', 'u'] 但是我不知道怎么把它变成['ailmnu']

有没有办法不费吹灰之力就能做到这一点? 提前谢谢!在


Tags: 文件代码列表排序顺序字母字符单词
3条回答
In [1]: ''.join(['a', 'i', 'l', 'm', 'n', 'u'])
Out[1]: 'ailmnu'

以下是完整的程序:

^{2}$

string.join()。在

您还可以使用map()函数简化代码。在

把你的事情做好:

items = ['alumni', 'orphan', 'binge', 'peanut', 'necktie']
sorted_items = ["".join(sorted(item)) for item in items]

这里我使用了一个list comprehension,这是一个很好的方法来制作这样的小片段。如果需要,可以将其扩展到:

^{2}$

但是显然,在这种情况下,列表理解是一个更好的(而且比上面的或者使用map())解决方案更快。在

同样值得注意的是,使用这样的for循环并不是很像python。比较:

for i in range(len(splitfoo)):
    splitedfootmp = sorted(splitfoo[i])

for item in splitfoo:
    splitedfootmp = sorted(item)

它们都做同样的事情,但后者更清晰,更像Python。在

相关问题 更多 >