回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一本字典如下:</p>
<pre><code>dict_items([(True, 1), (None, 16)])
dict_items([(True, 3), (None, 15)])
</code></pre>
<p>随着用户数量的增加,这个数字也会增加,也就是说它可能会上升到n,所以我想找出真的和无的总数。你知道吗</p>
<p>对于以上数据,我想找到total\u true=4,total\u none=31</p>
<pre><code> care_needs_name = {
"Communication": None,
"Continence": None,
"Daily life/lifestyle": None,
"Death and dying": None,
"Emotional support": None,
"Finance": None,
"Maintaining a safe environment": None,
"Medical": None,
"Medication": None,
"Mental capacity": None,
"Mobility": None,
"Nutrition/hydration": None,
"Personal care": None,
"Religious/cultural/spiritual needs": None,
"Sexuality": None,
"Skin integrity": None,
"Sleeping": None
}
care_plans = CarePlanNeed.objects.filter(resident=obj.resident)
today = timezone.now()
i = 0
# sum = 0
for care in care_plans:
i += 1
recent = care.history.first()
next_review = recent.history_date + datetime.timedelta(30)
if str(today) > str(next_review):
care_needs_name[care.aspect_of_life] = next_review.replace(hour=0, minute=0, second=0, microsecond=0)
else:
care_needs_name[care.aspect_of_life] = True
counts = dict(Counter(care_needs_name.values()).items())
print(counts.items())
total_review_completed = 0
total_review_to_add = 0
for k, v in counts.items():
if k == True:
total_review_completed = total_review_completed + v
else:
total_review_to_add = total_review_to_add + v
print(total_review_completed)
</code></pre>
<p>但我得到的是:</p>
<pre><code>dict_items([(True, 1), (None, 16)])
1
dict_items([(True, 3), (None, 15)])
3
</code></pre>
<p>编辑2:</p>
<p>我有这个查询集<code><QuerySet [<CarePlanNeed: Communication( gbsd adcafv (12 Nov 2019))>]>
<QuerySet [<CarePlanNeed: ads( asd asd (05 Nov 2019))>, <CarePlanNeed: Communication( asd asd (05 Nov 2019))>, <CarePlanNeed: Continence( asd asd (05 Nov 2019))>]></code></p>
<p>现在我想把所有的<code>CarePlanNeed</code>加起来,这里的sum=4,即沟通+广告+沟通+自制</p>