【发布时间】:2014-12-07 05:17:05
【问题描述】:
我写了一些代码只是为了好玩
symbols = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]
numbers = []
counter = 0
print("Enter Name")
name = input(">")
if name:
new_name = list(name)
for x in range(0, len(symbols)):
count_name = new_name.count(symbols[x])
numbers.append(count_name)
if count_name:
counter += 1
print("Character amount =", counter)
for x in range(0, len(numbers)):
if numbers[x]:
print(symbols[x], "=", numbers[x])
else:
print("Input = NULL")
例如,当您输入您的姓名时 罗默
它会打印出如下内容:
Character amount = 4
e = 2
m = 1
o = 1
r = 2
但我希望它根据最常出现的字符进行排序
【问题讨论】:
-
那么你做了什么尝试来实现它?
-
那么,您已经...阅读了相关文档?试图实施出错的事情?试图修复该实现无济于事?或者只是把它扔给我们?
-
在排序之前,您必须找到一种方法来组合
symbols和numbers数组 - 我建议zip。 -
另一种方法是使用dictionary,将字母作为键。例如
d = {}; d['a'] = d.get('a', 0) + 1(get method) -
我添加了这个:total = dict(zip(symbols, numbers)).这给了我一本字典,但我在网上搜索了一下,似乎不可能按值排序?
标签: python list sorting python-3.x