美文网首页
python 中二维数组的初始化

python 中二维数组的初始化

作者: momo1023 | 来源:发表于2020-02-04 10:32 被阅读0次

    初始化方法

    • 直接定义
    matrix = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    
    • 间接定义
    matrix = [[0 for i in range(3)] for i in range(3)]
    
    • 层次定义
    matrix = []
    for i in range(3):
        matrix.append([0] * 3)
    

    注意浅拷贝问题

    下列行为会引发浅拷贝的现象

    base = [0] * 3
    matrix = []
    for i in range(3):
        matrix.append(base)
    
    print(matrix)
    matrix[1][1] = 2
    print(matrix)
    

    结果:

    [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    [[0, 2, 0], [0, 2, 0], [0, 2, 0]]
    

    说明 matrix 中三个 [0, 0, 0] 都是 base 的映射,改一个,base 就被改了,然后三个元素全改了。

    相关文章

      网友评论

          本文标题:python 中二维数组的初始化

          本文链接:https://www.haomeiwen.com/subject/dizlxhtx.html