(如果标题更好,请进行编辑,我无法正确解释!:)这是我的代码:
with open('cipher.txt') as f:
f = f.read().replace(' ', '')
new = []
let = []
for i in f:
let.append(i)
if i.count(i) > 1:
i.count(i) == 1
else:
new = sorted([i + ' ' + str(f.count(i)) for i in f])
for o in new:
print(o)
这是cipher.txt
:
xli uymgo fvsar jsb
我应该打印出使用过的字母以及使用了多少次,我的代码可以正常工作,但是我需要按字母顺序排列,我尝试将它们放在列表中list(a)
然后进行排序,但是我不太明白想法?提前致谢!
每当进行计数时,您都可以collections.Counter
在这里使用:
>>> from collections import Counter
>>> print sorted(Counter('xli uymgo fvsar jsb'.replace(' ', '')).most_common())
[('a', 1), ('b', 1), ('f', 1), ('g', 1), ('i', 1), ('j', 1), ('l', 1), ('m', 1), ('o', 1), ('r', 1), ('s', 2), ('u', 1), ('v', 1), ('x', 1), ('y', 1)]
如果您无法导入任何模块,则可以追加a
到列表中然后对其进行排序:
new = []
for i in f:
new.append(i + ' ' + str(f.count(i)) # Note that i is a string, so str() is unnecessary
或者,使用列表推导:
new = [i + ' ' + str(f.count(i)) for i in f]
最后,要对其进行排序,只需将sorted()
其放在周围即可。不需要额外的参数,因为您的结果是按字母顺序排列的:)。
问题内容: 我在mysql排序中寻找一些调整,我通常从表中选择记录,然后按Name(varchar)ASC排序记录, 但编号始终是第一位的 这是我的问题的一些示例( 注意。mysql首先用0-9排序记录 ) 我想要的是字母顺序,然后是数字 所需的输出 问题答案: 使用以下子句:
按字母顺序排序字符串中的字符。 使用扩展运算符(...),Array.sort() 和 String.localeCompare() 对 str 中的字符进行排序,使用 String.join('') 重新组合。 const sortCharactersInString = str => [...str] .sort((a, b) => a.localeCompare(b))
问题内容: 有没有一种简单的方法可以在Python中按字母顺序对字符串中的字母进行排序? 因此对于: 我想返回: 问题答案: 你可以做:
问题内容: 我有如下代码: 效果很好,但似乎是以相反的字母顺序列出文件。有没有一种快速的方法可以告诉您按字母顺序列出文件? 问题答案: 带有或不带有过滤器的方法不能保证任何顺序。 但是,它确实返回一个数组,您可以使用对其进行排序。 这是可行的,因为是一个可比较的类,默认情况下按字典顺序对路径名进行排序。如果要对它们进行不同的排序,则可以定义自己的比较器。 如果您更喜欢使用流: 下面是一种更现代的方
问题内容: 我想按字母顺序比较上述两个字符串(在本例中为“ Project”,然后是“ Sunject”,因为“ P”在“ S”之前)。有谁知道如何用Java做到这一点? 问题答案: 可能需要或可能不需要。 如果需要本地化的字符串排序,请查看此链接。
问题内容: 我目前是python的新手,并陷入了这个问题,似乎找不到正确的答案。 问题:给出一个单词列表,按长度顺序(最长到最短)返回相同单词的列表,第二个排序标准应按字母顺序。提示:您需要考虑两个功能。 这是我到目前为止所拥有的: 它按长度排序,但我不知道如何将第二个标准应用于这种排序,即按字母顺序降序排列。 问题答案: 您可以按照以下两个步骤进行操作: Python的排序是稳定的,这意味着当长