从lis创建列表列表的Pythonic方法

2024-10-16 20:41:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想从一个列表创建一个列表列表。你知道吗

列表如下所示:

level = ['   WWWWWWWWWWWWWWWWW', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C                  E']

我需要创建这个:

[[' ', ' ', ' ', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', 'W', ' ', 'C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'W'], ['C', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'E']]

我是这样做的:

listofLists = []
for row in level:
  liss = []
  for col in row:
    liss.append(col)
  listofLists.append(liss)

什么是一个更为Python的方式或更短的方式做这件事?你知道吗


Tags: in列表for方式collevelrowappend
2条回答

当您对字符串调用list()时,它将返回其所有字符(包括空格)的列表。你知道吗

level = ['   WWWWWWWWWWWWWWWWW', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C  W C             W', 'C                  E']
trasnsformed = [list(x) for x in level]
>>> listofLists = map(list,level)

(在python3中,如果您真的需要一个列表,请执行list(map(list, level))

相关问题 更多 >