2013-02-08 37 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