2015-11-29 120 views
-1

这是我的代码:打印项目,不包括引号

def load_map(filename): 
    map_output = [] 
    map_open = open('map.txt','r') 
    for line in map_open: 
     line=line.replace("\n", "") 
     line=line.strip().split(" ") 
     map = map_output.append(line) 
    map_open.close() 
    return map_output 

print(load_map('map.txt')) 

这是我的脚本输出:

[['3', '8', '4', '0'], ['1', '-1', '-1', '10'], ['2', '-1', '-1', '11'], ['7', '6', '5', '9']] 

我想打印这些数字不带引号

[[3, 8, 4, 0], [1, -1, -1, 10], [2, -1, -1, 11], [7, 6, 5, 9]] 
+2

你的意思是没有引号周围的数字? –

+0

另一种方式,你可能会看到用python完成这种事情是'_map = [int(val)for line.strip()。split(“”)]' – tdelaney

+0

谢谢你真的很感谢 –

回答

2

只需将它们映射到整数。取而代之的是:

line=line.strip().split(" ") 

做到这一点:

line = list(map(int, line.strip().split(" "))) 

另外,不要重新定义map由内置的list.append()返回值在你的循环体,否则该代码夺得”工作。