如何在python中保存文件内容



我刚刚开始研究python,这是一个非常基本的问题:

我有一个input.txt,其中包含以下测试用例:

b---d
-d--d
--dd-
--d--
----d

现在我想在python代码的帮助下将上述内容保存在5 X 5 Matrix中。因此,当我想返回matrix[0][2]时,它返回-

我该怎么做呢?我试过了,但是打印错误的答案

这很简单,因为字符串和文件也是可迭代的:

with open('input.txt') as matrixfile:
    matrix = [list(line.strip()) for line in matrixfile]

list()将字符串转换为单个字符的列表;我们使用.strip()来删除任何额外的空白,包括换行符。matrixfile open file对象是一个可迭代对象,因此可以对其循环处理所有行。

结果:

>>> matrix
[['b', '-', '-', '-', 'd'], ['-', 'd', '-', '-', 'd'], ['-', '-', 'd', 'd', '-'], ['-', '-', 'd', '-', '-'], ['-', '-', '-', '-', 'd']]
>>> matrix[0][2]
'-'

既然Martijn更快地发布了显而易见的答案,这里有另一个想法:

实际上根本不需要创建嵌套列表("matrix"):

with open("input.txt") as infile:
    matrix = [line.rstrip() for line in infile]

为您提供了一个包含五个字符串的列表,这些字符串可以被索引(并且在索引时返回单个字符),就像嵌套列表一样:

>>> matrix
['b---d', '-d--d', '--dd-', '--d--', '----d']
>>> matrix[0][2]
'-'

相关内容

  • 没有找到相关文章

最新更新