下面给我的是正确格式的键和值的字母列表,但是有没有办法将按字母顺序排列的键和值迭代到列表变量中并打印列表,以便输出看起来完全相同正如下面给出的输出?我回顾过一些类似的问题;我仍然不确定 sort() 是否真的创建了一个列表变量,如果我愿意的话,可以进一步操作该变量。
def readFile(fileName):
fileIn = open(fileName, "r")
letterFrequency = {}
for line in fileIn:
line = line.strip()
for letter in line:
if letter.isalpha() is True:
if letter not in letterFrequency:
letterFrequency[letter.lower()] = 1
else:
letterFrequency[letter.lower()] += 1
else:
pass
fileIn.close()
return letterFrequency
def main():
fileName = input("What is the name of the file? ")
letterDict = readFile(fileName)
for letter in sorted(letterDict):
print(letter, letterDict[letter])
main()
以上输出:
a 102
b 11
c 31
d 58
e 165
f 27
g 2
h 80
i 17
k 3
l 42
m 13
n 63
o 93
p 15
q 1
r 79
s 44
t 60
u 21
v 24
w 21
y 10
最佳答案
d = {"a": 5, "n": 2, "z": 1, "c": 3, "b": 0}
t = tuple((k, d[k]) for k in sorted(d.keys()))
print(t)
# (('a', 5), ('b', 0), ('c', 3), ('n', 2), ('z', 1))
请注意,您不需要此处调用 tuple()
;没有它,您将得到一个(更高效的)发电机。在本示例中,它的存在是为了让您能够轻松查看结果。
关于python - 您可以按字母顺序将字典键排序到列表变量中并使用特定输出进行打印吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845567/