在Python中添加2D列表中的列

时间:2015-11-21 00:43:04

标签: python

我是编程和Python的新手。我的教科书没有给我任何关于此的信息,我现在很难过。 这是我当前的代码,我需要显示添加的列,并像我有行一样显示它们。

编辑:

我在这里阅读了一些关于使用zip()的不同帖子,但我的书并没有覆盖它,所以我无法真正使用它。然而,这就是我最终做的事情:

import random

ROWS = 3
COLS = 3

def main ():
    values = [[0, 0, 0],
             [0, 0, 0],
             [0, 0, 0]] 
for r in range (ROWS):
    for c in range(COLS):
        values[r][c]= random.randint(1,4)

#add up rows
    row0=sum(values[0])
    row1=sum(values[1])
    row2=sum(values[2])

#add up columns
    col0=(values[0][0]+values[1][0]+values[2][0])
    col1=(values[0][1]+values[1][1]+values[2][1])
    col2=(values[0][2]+values[1][2]+values[2][2])

#print results
    print ("List: ")
    print (values)

print ("Total of row 0 is", row0 ) 
print ("Total of row 1 is", row1)
print ("Total of row 2 is", row2 )
print ("Total of column 0 is", col0)
print ("Total of column 1 is", col1)
print ("Total of column 2 is", col2)


main()

2 个答案:

答案 0 :(得分:1)

这里我没有使用列表理解或zip,因为您不熟悉编程。希望下面的代码非常简单,不言自明。

//-1 means "false"
public boolean full() {
    int high = 0;
    return ( root != null && isFull(root, high) != -1 );
}

public boolean isLeaf() {
    return node.getRight() == null && node.getLeft() == null;
}

private int isFull(TreeNode<T> node, int high)
{
    ++high;
    if (node.isLeaf())
        return high;
    else
    {
        int hLeft=0, hRight=0;
        if(node.getLeft() != null)
            hLeft = isFull(node.getLeft(), high);
        if(node.getRight() != null)
            hRight = isFull(node.getRight, high);

        if ( (hLeft == hRight) && (hLeft != -1) )
            return ++high;
        return -1;
    }
}

答案 1 :(得分:0)

这行代码将显示总计列的列表。 Here是zip函数的描述。

print [sum(x) for x in zip(*values)]