2016-03-01 41 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 
>>>