我要创建一个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)