如何在嵌套列表中总结学分
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)
The credit hours are in position [2] and [5] respectively.
所以我假设您只想对索引 2
和 5
.
处的 int
egers 求和
[ "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 ]
所以现在你只需要将它的第 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)
我建议您阅读有关 nested lists
的内容。
如果你想要总和就这样做:
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}
我有一个嵌套数组。我需要获得学分总和。学分分别在位置 [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)
The credit hours are in position [2] and [5] respectively.
所以我假设您只想对索引 2
和 5
.
int
egers 求和
[ "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 ]
所以现在你只需要将它的第 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)
我建议您阅读有关 nested lists
的内容。
如果你想要总和就这样做:
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}