【发布时间】:2022-01-07 11:00:34
【问题描述】:
我是 Python 和 StackOverflow 的新手。我目前正忙于学习 Python Online,我需要完成一个项目,该项目需要 Python 代码的非常具体的输出才能继续该项目。 我被一个问题困了一个多星期,我找不到解决方案。因此,我们非常欢迎任何帮助。
我们来自这些数据(datos_lista):
('23', 'RETIRO', 'Despejado', (25, 29), 0)
('22', 'MONCLOA-ARAVACA', 'Despejado', (21, 24), 6)
('20', 'FUENCARRAL-EL PARDO', 'Despejado', (45, 49), 14)
('20', 'FUENCARRAL-EL PARDO', 'Despejado', (25, 29), 7)
('20', 'FUENCARRAL-EL PARDO', 'Despejado', (25, 29), 4)
我们需要做的是:
- datos_lista[3] 按 (AgeRange = (21,24),...) 分组:
按年龄范围分组 ((25, 29),(21, 24),(45, 49),...)
- datos_lista[3] 计数:
计算 AgeRange 出现的次数。
- 并且,3- datos_lista[4]== Count if == 4:
计算 datos_lista[4]== 4 的次数 (在上面的示例中,这仅在最后一行出现一次) (('20', 'FUENCARRAL-EL PARDO', 'Despejado', (25, 29), 4))
这个问题需要我提供这个输出:
所有这些都需要在这个“代码检查”上工作:
"""# Prueba de funcionamiento1:
total_accidentes_y_muertes_por_edades = totales_mortales(datos_lista)
for k, totales in total_accidentes_y_muertes_por_edades.items: print(k, totales)
print()
"""# Prueba de funcionamiento2:
tasa_accidentes_mortales_por_mil = [(k, m*1000/n) for k, (n, m) in total_accidentes_y_muertes_por_edades.items()]
for k_tasa in tasa_accidentes_mortales_por_mil:
print(k_tasa)
"""
我已经能够单独生成代码并匹配解决方案,但是它们都没有通过“代码检查”或一起产生输出。
代码尝试:
1-
def totales (datos_lista):
from collections import Counter
totales1 = Counter()
for p in datos_lista:
totales1[p[3]] += 1
return(totales1)
2-
def totales2 (datos_lista):
from collections import Counter
from collections import defaultdict
totales2 = Counter()
for q in datos_lista:
if q [4] == 4:
totales2[q[3]] += 1
return(totales2)
非常感谢您, (如果有什么不清楚的地方请告诉我,我是新手,所以我不知道如何正确地制定它以使其足够清楚) 丹尼尔
【问题讨论】:
-
能不能把
What we need to do is的这部分描述详细一点,目前的资料第二项和第三项都不清楚。 -
您好,对此表示歉意...我在其中添加了一些额外的 cmets...希望这些使解释更容易理解我们需要做的是:datos_lista[3] group by ( AgeRange = (21,24),...): 按年龄范围分组 ((25, 29),(21, 24),(45, 49),...) datos_lista[3] count: 统计数量AgeRange 出现的次数。并且, 3- datos_lista[4]== Count if == 4:计算 datos_lista[4]== 4 的次数(在上面的示例中,这仅在最后一行出现一次)(('20',' FUENCARRAL-EL PARDO', 'Despejado', (25, 29), 4))
标签: python counter dictionary-comprehension