我想写一个函数,将采取任何名单,并给我回那个“总和”的答案。现在我为“recherche”做这个,但重点是为列表中的任何类型做这个。我的代码就是这样的。你知道吗
TYPE_RECHERCHE = "recherche"
une_formation = [
[ TYPE_DIRIGEE, 7.50 ],
[ TYPE_PRESENTATION, 4.5 ],
[ TYPE_DIRIGEE, 2.00 ],
[ TYPE_CONFERENCE, 7.0 ],
[ TYPE_ATELIER, 2.25 ],
[ TYPE_GROUPE_DISCUSSION, 3.00 ],
[ TYPE_RECHERCHE, 1 ],
[ TYPE_LECTURE, 4.0 ],
[ TYPE_RECHERCHE, 4 ],
[ TYPE_RECHERCHE, 2.5 ],
[ TYPE_PRESENTATION, 3.5 ],
[ TYPE_REDACTION, 5.5 ],
[ TYPE_LECTURE, 10.0 ]
]
temps_formation_recherche = []
a = -1
while a < 12:
a = a + 1
if une_formation[a][0] == "recherche":
temps_formation_recherche.append(une_formation[a][1])
sum(temps_formation_recherche) # this will return 7.5
或者从
itertools
使用groupby
:你可以定义你的函数,这样它就可以把你想要找到的东西作为一个参数。然后,您可以将每个找到的项的值添加到一个临时变量中—看起来您的临时列表就快到了。 例如:
在
TYPE_RECHERCHE
的情况下,它将返回7.5
。在TYPE_DIRIGEE
的情况下,返回9.5
。你知道吗您可以使用列表理解进一步优化代码:
这将获取原始列表,创建一个仅包含每个匹配元素的数字部分的列表,然后使用
sum
函数将它们全部相加。你知道吗要准确地理解你在追求什么有点困难,但试试这个:
相关问题 更多 >
编程相关推荐