提问人:CoderS 提问时间:4/10/2022 最后编辑:Wai Ha LeeCoderS 更新时间:4/10/2022 访问量:37
如何在嵌套列表中对学分求和
How to sum credit hours in a nested list
问:
我有一个嵌套数组。我需要获得学分的总和。学分分别位于 [2] 和 [5] 的位置。如何在 python 中使用 for 循环实现这一点?我不熟悉 Numpy。
marks = [
[ "MR. JONES", "ACCT203", 2, 3.0, "CIS100", 3, 2.5 ],
[ "SKARE EEEY", "ACCT203", 2, 2.5, "BUS123", 2, 3.0 ],
[ "HALO WEEN", "ACCT300", 5, 2.0, "ACCT301", 2, 1.5 ],
[ "BOB KATZ", "ACCT300", 5, 1.0, "BUS278", 3, 4.0 ],
[ "ANNIE BANANE", "ACCT300", 5, 0.0, "CIS223", 3, 1.5 ],
]
我所能做的就是打印它们。我被困在这个之外。
for credit_hours in marks:
cred_hours_part_one = credit_hours[2]
cred_hours_part_two = credit_hours[5]
print(cred_hours_part_one)
print(cred_hours_part_two)
答:
1赞
FLAK-ZOSO
4/10/2022
#1
学分分别位于 [2] 和 [5] 的位置。
因此,我假设您只想对 indexes 和 处的 egers 求和。int
2
5
[ "MR. JONES", "ACCT203", 2, 3.0, "CIS100", 3, 2.5 ]
要从嵌套中获取单个,您只需从其索引中获取它,例如:list
list
>>> marks[0] # ...will give you...
[ "MR. JONES", "ACCT203", 2, 3.0, "CIS100", 3, 2.5 ]
所以现在你只需要求和 它的 nd 和 th 位置,例如:2
5
>>> marks[0][2] + marks[0][5]
5
如果你想收集所有的总和,你只需要使用一个理解......list
list_of_the_sums_of_the_marks = [mark[2] + mark[5] for mark in marks]
...然后总结一下......
sum(list_of_the_sums_of_the_marks)
我建议你阅读一些关于嵌套列表
的内容。
评论
0赞
CoderS
4/10/2022
我想要将这些位置的所有整数相加,并得到总共 200 个学分。不在单个数组中。所以我需要一个 for 循环,它将为每个数组添加,然后在每个数组添加后添加它们。我希望你现在能得到我。
0赞
FLAK-ZOSO
4/10/2022
好的,我正在编辑我的答案:
0赞
afuenzalida
4/10/2022
#2
如果您想要总和,请执行此操作:
total = sum([mark[2] + mark[5] for mark in marks])
print(total)
32
或者,如果你想在一个漂亮的字典中将每个元素的总和:
results = {mark[0]: mark[2] + mark[5] for mark in marks}
print(results)
{'MR. JONES': 5, 'SKARE EEEY': 4, 'HALO WEEN': 7, 'BOB KATZ': 8, 'ANNIE BANANE': 8}
评论