python中字符串的字母顺序

2024-09-29 19:27:21 发布

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

我知道有sort()函数,但在这里它不适用于我。我想按字母顺序排列如下:

'S  NOM  V  NOUN  VERB'

它应该是:

^{pr2}$

如何在python中实现这一点?在

编辑:

我试过:

''.join(sorted(m[i][j]))

但它返回的输出非常更改,例如ABEILMNNNNOOPRSUVV,这是没有意义的。在


Tags: 函数编辑字母sortnom意义nounsorted
3条回答

你已经有了至少一个好答案。你不妨把它抽象成一个函数:

def sortWords(s, delim = ' '):
    return delim.join(sorted(s.split(delim)))

例如

^{pr2}$

尝试以下操作:

x = 'S  NOM  V  NOUN  VERB'
x = x.split()   # produces ['S', 'NOM', 'V', 'NOUN', 'VERB']
x = sorted(x)   # produces ['NOM', 'NOUN', 'S', 'V', 'VERB']
x = ' '.join(x) # produces 'NOM NOUN S V VERB'

如果您想颠倒V和VERB的顺序,则必须使用自定义排序函数(参见sorted函数的“key”关键字)。在

您应该将字符串拆分为一个列表,然后对其进行排序并将其转换回字符串。这里有一个例子。在

old_string = "hello world abc"
string_list = old_string.split(" ") # split the string by a space, you can choose something different.
new_string = " ".join(string_list.sort()) # join list by a space.
print(new_string)

相关问题 更多 >

    热门问题