vowels = ['a', 'e', 'i', 'o', 'u']
word = input("Provide a word to search for vowels: ")
found = {}
for letter in word:
if letter in vowels:
found.setdefault(letter, 0)
found[letter] += 1
for k, v in sorted(found.items()):
print(k, 'was found', v, 'time(s).')
我是Python和一般编程的初学者。输入“良好”时,发现输出“o”2次。代码运行良好,但最后一块代码让我困惑。变量k产生字母o,变量v产生数字2。这是字典里的钥匙。如何解释代码以产生此输出?你知道吗
^{} function 从输入中产生一个排序列表。这里的输入是^{} object ,它本身是一个包含字典中
(key, value)
对的元组的iterable。由于元组是按字典顺序排列的(首先比较它们的第一个元素,如果相等,则比较第二个元素,等等),因此最终会得到按字母顺序排列的(key, value)
对列表。你知道吗您可以在交互式口译员中自己尝试:
当然,由于
good
只包含一个o
唯一的元音,所以没有什么可以排序的。只有一对(key, value)
的排序列表不会显示顺序上的任何更改。你知道吗如果你试着用一个更复杂的词,比如
ultrarevolutionaries
,你会得到一个更有趣的结果:项目首先是无序的,
u
,a
,e
,o
,i
不是按字母顺序排列的。a
,e
,i
,o
,u
另一方面是。你知道吗相关问题 更多 >
编程相关推荐