在python中以多维数组导入文本
我知道如何从数组中的文件导入文本,以及如何删除每行末尾的“\n”,但我不知道如何拥有子列表,每个子列表包含每行。我需要加载一个网格来加密它 示例: 第1行:101\n 第2行:010\n 第3行:110\n ->我想得到这个结果[[1,0,1],[0,1,0],[1,1,0]]试试这个:在python中以多维数组导入文本,python,Python,我知道如何从数组中的文件导入文本,以及如何删除每行末尾的“\n”,但我不知道如何拥有子列表,每个子列表包含每行。我需要加载一个网格来加密它 示例: 第1行:101\n 第2行:010\n 第3行:110\n ->我想得到这个结果[[1,0,1],[0,1,0],[1,1,0]]试试这个: text_file = r"/path/to/your/file/" definitive_list = [] array = [] with open(text_file, "r") as f:
text_file = r"/path/to/your/file/"
definitive_list = []
array = []
with open(text_file, "r") as f:
for line in f:
line = line.rstrip()
for digit in line:
array.append(digit)
definitive_list.append( array )
array = []
您可以在两行中完成此操作
with open('path/to/file') as f:
line_lists = [list(line.strip()) for line in f]
str
对象上的list
将返回一个列表,其中每个字符都是一个元素<代码>行首先被剥离,这将删除前导和尾随空格。这是假设您实际希望字符为char
。如果您希望将它们解析为int
,这将起作用:
with open('path/to/file') as f:
line_lists = [[int(x) for x in line.strip()] for line in f]
请注意,这里应该有一些错误检查,如果任何字符无法解析为int,上面的示例将崩溃。非常感谢,只需返回确定的_列表,它就可以工作了,干得好。