微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在python字典中进行重复键的总和?

如何解决如何在python字典中进行重复键的总和?

我知道 python 字典不保存重复值,如果有的话会修改。我的问题是,我们如何将这些重复值加在一起?

这是我的代码

class ChoreTracker:
    def __init__(self):
        self.chores = {}

    def add_hours(self,chores,time):
        self.chores.update({chores:time})

    def print_summary(self):
        for i,(chore,time) in enumerate(self.chores.items()):
            print(f"{chore}:",time)


tracker = ChoreTracker()

tracker.add_hours('sweeping',0.75)
tracker.add_hours('laundry',0.5)
tracker.add_hours('working',6)
tracker.add_hours('mopping',0.5)
tracker.add_hours('laundry',1)
tracker.add_hours('working',5.5)

tracker.print_summary()

我的输出

laundry: 1
working: 5.5
mopping: 0.5

我想要的:

laundry: 1.50 hours
working: 11.50 hours
mopping: 0.50 hours
TOTAL: 14.25 hours

working 是重复键。我想添加它而不是仅仅修改值:working = 6 + 5.5

提前致谢:)

解决方法

首先检查密钥是否存在。如果是,请添加时间。

import numpy as np
import cv2
faceCascade = cv2.CascadeClassifier('Cascades/haarcascade_frontalface_default.xml')

cap = cv2.VideoCapture(0)
cap.set(3,640) # set Width
cap.set(4,480) # set Height

ret,img = cap.read()
img = cv2.flip(img,-1)
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
while True:
    if ret == False:
        continue
    faces = faceCascade.detectMultiScale(
     gray,scaleFactor=1.2,minNeighbors=5,minSize = (20,20)
    )
    
    for (x,y,w,h) in faces:
        cv2.rectangle(img,(x,y),(x+w,y+h),(255,0),2)
        roi_gray = gray[y:y+h,x:x+w]
        roi_color = img[y:y+h,x:x+w]
    cv2.imshow('video',img)
    k = cv2.waitKey(30) & 0xff
    if k == 27: # pressing esc in order to quit 
        break
cap.release()
cap.destroyAllWindows()
,

您可以使用 collections.Counter,它是为数数事物量身定制的。

deleteKeys = []

for item in a_dict:
        if a_dict[item] == []:
            deleteKeys.append(item)

for i in deleteKeys:
    del a_dict[i]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?