Python 添加现有值而不是替换现有值
我想创建一个程序,它采用一个颜色名称,有多少孩子喜欢它,然后将它附加到一个字典中,但是我想这样做,如果输入一个重复的键,它的值将被添加到现有的一个。例如红色4红色3会打印红色7。谢谢Python 添加现有值而不是替换现有值,python,python-3.x,Python,Python 3.x,我想创建一个程序,它采用一个颜色名称,有多少孩子喜欢它,然后将它附加到一个字典中,但是我想这样做,如果输入一个重复的键,它的值将被添加到现有的一个。例如红色4红色3会打印红色7。谢谢 colourPick = True while colourPick: colour = input() numPicked = input() my_dict[colour] = numPicked 为了解决这个问题,我只添加了一个if-else语句来检查dict中是否已经存在颜色,以便
colourPick = True
while colourPick:
colour = input()
numPicked = input()
my_dict[colour] = numPicked
为了解决这个问题,我只添加了一个if-else语句来检查dict中是否已经存在颜色,以便决定如何处理numPicked变量
colourPick = True
while colourPick:
colour = input()
numPicked = input()
if colour in my_dict: # This checks if there is already that *colour* in the dict
my_dict[colour] += numPicked
else:
my_dict[colour] = numPicked
我认为,最简单的方法是通过在我的字典中使用
if color:
,检查键是否存在,但您也可以使用get(key,default\u value)
方法来简化这一点:
colourPick = True
while colourPick:
colour = input()
numPicked = input()
previous = my_dict.get(colour, 0)
my_dict[colour] = previous + numPicked
因此,当颜色还没有出现在我的字典中时,前面的颜色将是0
。
另请参见我这样重新解决了它。我添加了一个临时方法来摆脱循环,但您可以修改它。这个代码应该可以工作。显然,对输入ar的检查缺失。颜色与字符串一起使用,与整数值一起拾取
colourpick=True
dict={}
while colourpick:
colour=input('colour ')
pick=int(input('number '))
if colour in dict:
dict[colour]+=pick
else:
dict[colour]=pick
inp=input('continue ')
if inp=='.':
break
print(dict)
对于堆栈溢出,不鼓励使用仅代码的答案,因为它们没有解释堆栈溢出是如何解决问题的。请编辑您的答案,以解释此代码的作用以及它如何回答问题,以便对OP以及具有类似问题的其他用户有用。