从命令行读取输入将其存储为2d数组,而不是字符串输入

时间:2018-06-05 15:37:36

标签: python python-3.x

W

使用此功能,当我打印数组时,我输出:

with open(sys.argv[1], 'r') as f:                  
    a= f.readlines()    #reads the file's lines
    a = [x.strip() for x in a] #ignores the newline char
print (a)

如何转换上述函数以便返回

['+X..XX....-', '.X..X..X-..', '.X.........', '...XX......', 'XXX.+X.....', '..X.....XXX', '...XXX..X-.', '.-.....X...']
像这样的东西,一个元素数组而不是一个字符串数组

1 个答案:

答案 0 :(得分:3)

In[3]: with open('test.txt', 'r') as f:
  ...:     result = [list(line.rstrip()) for line in f]
  ...: 
In[4]: result
Out[4]: 
[['+', 'X', '.', '.', 'X', 'X', '.', '.', '.', '.', '-'],
 ['.', 'X', '.', '.', 'X', '.', '.', 'X', '-', '.', '.'],
 ['.', 'X', '.', '.', '.', '.', '.', '.', '.', '.', '.'],
 ['.', '.', '.', 'X', 'X', '.', '.', '.', '.', '.', '.'],
 ['X', 'X', 'X', '.', '+', 'X', '.', '.', '.', '.', '.'],
 ['.', '.', 'X', '.', '.', '.', '.', '.', 'X', 'X', 'X'],
 ['.', '.', '.', 'X', 'X', 'X', '.', '.', 'X', '-', '.'],
 ['.', '-', '.', '.', '.', '.', '.', 'X', '.', '.', '.']]