gpt4 book ai didi

python - 使用 python 字典计数并添加功能

转载 作者:行者123 更新时间:2023-11-28 23:05:24 26 4
gpt4 key购买 nike

 a = 0
b = 0
c = 0
d = 0

fruit = {
'lemons': [],
'apples': [],
'cherries': [],
'oranges': [],
}


def count():
fruit = input("What fruit are you getting at the store? ")
if fruit == 'lemons':
fruit['lemons'] = a + 1
elif fruit == 'apples':
fruit['apples'] = b + 1
elif fruit == 'cherries':
fruit['cherries'] = c + 1

elif fruit == 'oranges':
fruit['oranges'] = d + 1
else: ????

嘿,我在这里尝试做两件事:1) 计算某个词(在本例中为某些类型的水果)出现在文档中的次数 - 我在这里尝试用简单的输入功能。我知道它并不完美,但我无法弄清楚如何使每次出现都逐渐增加相应键的值。例如,如果我调用此函数两次并输入“柠檬”,计数应该是 2,但它仍然是 1。换句话说,我的函数是柠檬,但我不知道为什么。

我遇到的最后一件事是 else 函数。 2 ) 我的程序将查找文档的预定义部分,我希望我的 else 函数在字典中创建一个键:如果现有键不存在则值对。例如,如果我的程序遇到“banana”这个词,我想将 k:v 对 { 'banana': [] } 添加到当前词典中,这样我就可以开始计算这些出现的次数。但这似乎要求我不仅要将 k:v 对添加到字典中(我不知道该怎么做),还要添加一个函数和变量来像另一个 k:v 一样计算出现次数对。

这整个设置对我要尝试做的事情有意义吗?请帮忙。

最佳答案

您似乎有多个名为 fruit 的变量,这是个坏主意。如果您只是计算,则应该从 0 开始,而不是 []。您可以更轻松地编写代码:

import collections
result = collections.defaultdict(int)
def count():
fruit = input("What fruit are you getting at the store? ")
result[fruit] += 1

在 Python 3.1+ 中,您应该使用 collections.Counter 而不是 collections.defaultdict(int)。如果您不想使用 collections模块,你也可以写出 defaultdict 功能:

result = {}
def count():
fruit = input("What fruit are you getting at the store? ")
if fruit not in result:
result[fruit] = 0 # Create a new entry in the dictionary. 0 == int()
result[fruit] += 1

关于python - 使用 python 字典计数并添加功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6214534/

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