Python 从文件中的栅格生成二维列表

Python 从文件中的栅格生成二维列表,python,Python,我正在尝试将这个gridwordsearch(位于名为hidden.txt的文件中)放入一个2D列表中,这样我就可以使用代码搜索行中的单词 S I N S N O W S T O R M W I K L N T S N O W M A N E F E A R E C A L P E R I F R I E T C G I C A N D L E E R M K E F H B G T A O C E E Y I A S R R I L H T U Z P A C T L T A N O L I

我正在尝试将这个gridwordsearch(位于名为hidden.txt的文件中)放入一个2D列表中,这样我就可以使用代码搜索行中的单词

S I N S N O W S T O R M W I
K L N T S N O W M A N E F E
A R E C A L P E R I F R I E
T C G I C A N D L E E R M K
E F H B G T A O C E E Y I A
S R R I L H T U Z P A C T L
T A N O L I B E R I G H T F
B C D H S L Z E T A N R E W
O S D E E T T Z L D R I N O
O E D V L N I S A L S S S N
T B O L I S C Y Y R S T E S
S H H W O L E L O W D M C A
S N A D E C E M B E R A D L
E L T I S E A S O N G S H T
试试这个

wordsfile = open("hidden.txt")
grid = []
for line in wordsfile:
    if len(line) > 0:
        grid.append(line.split())
现在,grid是一个隐藏在hidden.txt中的二维字母数组。

这可以:

f = open("hidden.txt")
a2Dlist = [line.split() for line in f.read().splitlines()]

以下是最简单的解决方案:

file = open('hidden.txt')
grid = [line.split() for line in file]

这利用了文件本身作为迭代器的优势。

您已经说明了赋值,现在您的确切问题是什么?您尝试过什么吗?根据文件是否有尾随的换行符,您可能会无意中切掉最后一个字符,即最后一行的字母。请考虑使用STR.Band。@ SimonT,我不知道为什么需要条带,考虑在空白处拆分并吞下所有空的块。@小毛我刚刚测试了一个BC\N.Seple,是的,你是正确的,这给出了‘a’,‘b’,‘c'’。因此,在这种情况下,不需要删除换行符。不过,我仍然建议您在处理文件的最后一行时要小心,确保不会意外删除所需的字符。是的,你们是对的。我已经删除了尾随的换行符删除。