从输入中创建2d列表

时间:2017-03-13 08:32:32

标签: python

我在游戏板上工作,接收输入并从中创建一个棋盘并编辑我希望将其作为二维列表的棋盘

当用户输入:

。 。 。

。 B W。

。 W B。

。 。 。

我的功能

def starting_board(rows:int) - >列表:     board = []     对于范围(行)中的i:         board.append(input()。replace('',''))     返回董事会

返回: [' ....',' .BW。',' .WB。',' ....' ]

但是我希望它能够回归: [['。','。','。','。'],['。& #39;,' B',' W','。']等等...]

2 个答案:

答案 0 :(得分:0)

这将有效:

>>> def to_matrix(l, n):
        return [l[i:i+n] for i in xrange(0, len(l), n)]

>>> l = [0,1,2,3]
>>> to_matrix(l,2)
>>> [[0, 1], [2, 3]]

希望有所帮助

答案 1 :(得分:0)

功能性方法:

l = [1,2,3,4,5,6,7,8]
map(list, zip(l[::2], l[1::2]))
[[1, 2], [3, 4], [5, 6], [7, 8]]

还有iter

it = iter(l)
zip(it, it)
[(1, 2), (3, 4), (5, 6), (7, 8)]