我的学习指南上有这个问题,它需要一个函数来获取二维列表的平均值并将它们打印为一个列表。 我真的没有处理二维列表的经验,因此不知道从哪里开始解决这个问题。
它应该做什么的示例:
avrg([[85, 23, 45], [66, 75, 54], [85, 54, 70], [34, 10, 0]])
[51.0, 65.0, 162.333333333334, 14.66666666666667]
我的编码:
def avrg(L):
for i in range(len(L)):
for j in range(len(L[0])):
L[i][j] / i
return L
我的编码哪里出错了?
最佳答案
首先,表达式x/y
会产生一个值,但不会更改x
或y
。如果您使用的是 Python,您可能还需要考虑在迭代中使用实际的列表内容,而不是更像 C 的“范围”和访问器。希望这能为您提供强大的插入力,让您朝着正确的方向前进:
def avrg( inlist ):
result = []
for a in inlist:
# now "a" is just a list by itself
n = len(a)
total = sum(a)
# you can fill in the rest here
return result
关于python - 在 Python 中迭代列表的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5061729/