gpt4 book ai didi

python - 我需要假设此代码中的 python 为空序列

转载 作者:太空宇宙 更新时间:2023-11-03 16:04:34 25 4
gpt4 key购买 nike

该函数打印关键字长度,然后打印所需长度的所有字典关键字的排序列表,其中频率最高,其次是频率。例如下面的代码:

 word_frequencies =  {"fish":9,  "parrot":8,  "frog":9,  "cat":9,  "stork":1,  "dog":4, "bat":9,  "rat":4}

print_most_frequent(word_frequencies,3)
print_most_frequent(word_frequencies,4)
print_most_frequent(word_frequencies,5)
print_most_frequent(word_frequencies,6)
print_most_frequent(word_frequencies, 7)

打印输出:

 3 letter keywords: ['bat', 'cat'] 9
4 letter keywords: ['fish', 'frog'] 9
5 letter keywords: ['stork'] 1
6 letter keywords: ['parrot'] 8
7 letter keywords: [] 0

到目前为止我有这段代码:

def print_most_frequent(words_dict, word_len):
right_length = {}
for k, v in words_dict.items():
if len(k) == word_len:
right_length[k] = v
max_freq = max(right_length.values())
max_words = {}
for k, v in right_length.items():
if v == max_freq:
max_words[k] = v
print (str(word_len) + " letter keywords: " + str(sorted(max_words.keys())) + " " + str(max_freq))

这给了我:

 3 letter keywords: ['bat', 'cat'] 9
4 letter keywords: ['fish', 'frog'] 9
5 letter keywords: ['stork'] 1
6 letter keywords: ['parrot'] 8

但不是空序列。如何添加到我的代码中,以便它计入空序列。

 7 letter keywords: [] 0

最佳答案

只需向 max() 调用添加一个后备条件,这样它就不会尝试查找空迭代中的最大值:

max_freq = max(right_length.values() or [0])

如果 right_length.values() 为空,则将使用 [0] (不为空),并且 max() 不会产生错误。

关于python - 我需要假设此代码中的 python 为空序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39968888/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com