2013-02-08 39 views
1

我有一个嵌套列表,例如:A_board=[['0', '0'],['1', '1']]。我想把这个嵌套列表分开并得到一个结果,如果我打印结果,它会显示:< 0 0 > < 1 1 >操纵Python列表到我想要的字符串类型

我不知道如何用循环来处理这个问题,我先将矩阵变成列表,这样做:

boardWidth_a=len(A_board) 
listLength=len(board[0]) 

for q in range(0,boardWidth_a): 
    for x in range(0, listLength): 
     board1D.append(int(board[q][x])); 

board1D[0, 0, 1, 1]现在,我能做些什么,以board1D,使之成为< 0 0 > < 1 1 >?

回答

6

似乎有点令人费解 - 你能不能只是做:

>>> ' '.join('< {} {} >'.format(*items) for items in A_board) 
'< 0 0 > < 1 1 >' 

对于n元组,适应以下:

>>> a = [ [0], [0], [0] ] 
>>> fmt = '< {} >'.format 
>>> from itertools import chain 
>>> fmt(' '.join(map(str, chain.from_iterable(a)))) 
'< 0 0 0 >' 
+0

感谢乔恩!我想知道我怎么能多一点到这个,我希望每个< >权前增加一个“'\ N'”,所以像这样的:'<-----> \ n < 0 0 > \ n < 1 1 > \ n <----->' 我如何使用您向我展示的相同方法插入“'\ n'”? – PhoonOne 2013-02-08 22:30:35

+0

@Jenny加入''\ n''而不是空格将是最合乎逻辑的 - 否则,只需在格式字符串中插入'\ n' – 2013-02-08 22:31:37

+0

谢谢。但我怎样才能使这个灵活?因为通过使用< {} {} >,它将只适用于2个元组,如果我有一个[[[0],[0],[0]]并且想将它变成'< 0 >< 0 >< 0 >'?现在我必须每次输入一个额外的“{}”。 – PhoonOne 2013-02-08 23:58:06