输入 - 创建2D列表

时间:2015-02-21 17:14:07

标签: python-2.7

我要创建一个2D列表来存储用户的一些字符。例如,如果我有输入:

3 4
AABB
CCDD
AADD

然后我想得到一个名为“a”的列表,它等于

[['A', 'A', 'B', 'B'], ['C', 'C', 'D', 'D'], ['A', 'A', 'D', 'D']]

澄清一下,[i-1; j-1]等于第i行和第j列中的字符

def main():

    num_row, num_col = map(int,raw_input().split())
## Here's the number of rows and columns

    a=[['0']*num_col]*num_row
## This initializes a list

    for i in xrange(num_row):        ## i run through all rows
        string=str(raw_input())
        for j in xrange (num_col):   ## j run through all columns
            a[i][j]=string[j]

    print a                          ## to check the list a

main()    

我认为这应该有效。但是,当我运行此代码并输入上述数据时,“print a”返回:

[['A', 'A', 'D', 'D'], ['A', 'A', 'D', 'D'], ['A', 'A', 'D', 'D']]

请指出此代码有什么问题。谢谢!

顺便说一句,我的Python版本是2.5.4(Python 2)

0 个答案:

没有答案