如何通过函数按ASCII降序对单个字符串输出进行排序?

2024-10-01 11:31:18 发布

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

我有一个字串,我试图做一个计数每个字母表,以获得单独的字母计数。但是,我想用ASCII降序排列。这是为了修改我下面的函数,这样我就可以得到我想要的输出了吗?Print count(word1).sort()不起作用,因为无法在单个str中执行排序

word1 = iLoveCats

def count(i):
word2 = Counter(i).most_common()
return " ".join("{}:{}".format(a, b) for a, b in word2)



print count(word1)

电流输出:

^{pr2}$

期望输出: 按ASCII降序计数。在


Tags: 函数排序count字母asciisort字母表计数
3条回答

如果要按ASCII降序排列字母,可以使用chrsorted函数。在

word_dict = {...} # your current set of counts

for letter in sorted(word_dict.keys(), key=chr):
    print("%s: %d" % (letter, word_dict[letter]))

这对你的用例应该有用。在

你试过使用sorted($your'u list,reverse=True)吗?在

例如:

>>> b
['aa', 'BB', 'bb', 'zz', 'CC']
>>> sorted(b,reverse=True)
['zz', 'bb', 'aa', 'CC', 'BB']
>>>

sorted(reverse=True)可以按ASCII降序输出列表b。在

map

def count(i):
   word2 = map(lambda x: map(str,x),Counter(i).items())
   return " ".join(sorted(map(':'.join,word2),reverse=True))

或理解:

^{pr2}$

现在:

print count(word1)

两者都复制:

v:1 t:1 s:1 o:1 i:1 e:1 a:1 L:1 C:1

相关问题 更多 >