python - 在 Python 中迭代列表的列表

标签 python list

我的学习指南上有这个问题,它需要一个函数来获取二维列表的平均值并将它们打印为一个列表。 我真的没有处理二维列表的经验,因此不知道从哪里开始解决这个问题。

它应该做什么的示例:

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 会产生一个值,但不会更改xy。如果您使用的是 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/

相关文章:

sql-server - 如何在触发触发器时获取 sql 查询,最多 n 级?

python - 如何连接列表来获取IP地址和端口?

python - 打印列表列表中的第一项

python - Django Admin 中的反向内联

python - 为什么 Python 脚本文件不能命名为 abc.py?

python - 寻找不匹配模式的效率

python - 如何按目录隔离S3存储桶中的文件?

list - 使用字符串列表创建变量

python - Pandas 重采样选项

python - 对 C 的标注可以预估 Python 字典的容量吗?