我正在接收一个包含多行字符的文件,如下所示:
oeoeoeo
eoeoeoe
oeoeoeo
eoeoeoe
oeoeoeo
我想将它们放入2D列表中,如下所示:
[['o', 'e', 'o', 'e', 'o', 'e', 'o'],
['e', 'o', 'e', 'o', 'e', 'o', 'e'],
['o', 'e', 'o', 'e', 'o', 'e', 'o'],
['e', 'o', 'e', 'o', 'e', 'o', 'e'],
['o', 'e', 'o', 'e', 'o', 'e', 'o']]
这就是我目前正在实现的目标:
map2dArray = []
for line in input_file:
lineArray = []
for character in line:
lineArray.append(character)
map2dArray.append(lineArray)
在Python中有更优雅的方法吗?
答案 0 :(得分:4)
是的,在一行中:
map(list, input_file)
或在Python 3中:
list(map(list, input_file))
这通常会在结果中留下换行符,所以如果你想摆脱那些:
[list(line.strip('\n')) for line in input_file]