2016-03-01 39 views
1

我有一個包含所有整數的2D列表。我想所有的整數轉換成字符串:將2D列表的元素轉換爲字符串python

L = [[1,2,3,4,5],[6,7,8,9,10]] 

L = [['1','2','3','4','5'],['6','7','8','9','10']] # convert into string. 

現在打印出來,像以下格式:

1 - > 2 - > 3 - > 4 - > 5

6 - > 7 - > 8 - > 9 - > 10

我試圖使用這些代碼:

final_out = [i for i in final_out str(ii) for ii in i] 

它不起作用。

+0

你需要澄清你想要的輸出格式是什麼。你想要一個字符串嗎?你想打印你的列表項目嗎? – gtlambert

+0

我想要的輸出格式是,第一行是:1→2→3→4→5,第二行是:6→7→8→9→10 – Yousuf

回答

0

這樣做:

print("\n".join(" -> ".join(str(num) for num in sub) for sub in L)) 

輸出:

1 -> 2 -> 3 -> 4 -> 5 
6 -> 7 -> 8 -> 9 -> 10 

,因爲我用str(num),你可以只保留L相同。也就是說,你不需要將它們轉換爲整數。

1

可以使用map功能是:寫上面的代碼

>>> L = [[1,2,3,4,5],[6,7,8,9,10]] 
>>> L = [map(str, l) for l in L] # Convert into list of 'str' 
>>> L 
[['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10']] 
>>> for l in L: 
...  print ' -> '.join(l) 
... 
1 -> 2 -> 3 -> 4 -> 5 
6 -> 7 -> 8 -> 9 -> 10 

簡單的辦法是:

>>> L = [[1,2,3,4,5],[6,7,8,9,10]] 
>>> for l in L: 
...  print ' -> '.join(map(str, l)) 
0

您也可以做到這一點使用nested loop

>>> L = [[1,2,3,4,5],[6,7,8,9,10]] 
>>> new_L = [[str(j) for j in i] for i in L] 
>>> new_L 
[['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10']] 
>>> for i in new_L: 
    print ' -> '.join(i) 


1 -> 2 -> 3 -> 4 -> 5 
6 -> 7 -> 8 -> 9 -> 10 
>>>