下面给出的是一个正确格式的按字母顺序排列的键和值列表,但是有没有一种方法可以将按字母顺序排列的键和值迭代到一个列表变量中并打印出来,以便输出看起来与下面给出的输出完全相同?我已经回顾了一些类似的问题;我仍然不确定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
我创建了一个列表,对列表进行排序,然后从字典中打印,从排序的列表中提取关键字名称。至于效率、必要性等,这超出了我的知识范围。你知道吗
我就是这样解决问题的:
注意,这里不需要
tuple()
调用;没有它,您将得到一个(更高效的)生成器。在这个例子中,我们可以很容易地看到结果。你知道吗相关问题 更多 >
编程相关推荐