2015-11-29 123 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()返回值在你的循環體,否則該代碼奪得」工作。