0

我正在尝试创建一个类,该类采用带有硬编码换行符的数字字符串并输出矩阵和有关该矩阵的详细信息。在第一种情况下,我只想能够创建矩阵,但我很挣扎。我知道我可以用 numpy 或类似的东西很容易地做到这一点,但要尝试练习。

class Matrix:
def __init__(self, matrix_string):
    self.convert_to_list = [int(s) for s in str.split(matrix_string) if s.isdigit()]
    self.split = matrix_string.splitlines()

我想我想将我已经完成的两件事结合起来,但我不知道如何将我的 convert_to_list 方法应用于我的 split 方法中的每个元素。

变得非常困惑。

样本输入/输出

Input = " 1 8 7 /n 6 18 2 /n 1 9 7 "

Desired Output = [[1, 8, 7], [6, 18, 2], [1, 9, 7]]
4

2 回答 2

1

看起来你想要一个列表列表。为此,您可以使用嵌套列表推导。

s = " 1 8 7 /n 6 18 2 /n 1 9 7 "
lst = [[int(x) for x in r.split()] for r in s.split('/n')]
print(lst)

输出

[[1, 8, 7], [6, 18, 2], [1, 9, 7]]
于 2020-09-19T15:55:54.870 回答
0

其实没那么难:

s = " 1 8 7 /n 6 18 2 /n 1 9 7 "
print([i.split() for i in s.split('/n')])

更简单但更长的方法:

s = s.split('/n')
new = []
for i in s:
    new.append(i.split())
print(new)

输出:

[['1', '8', '7'], ['6', '18', '2'], ['1', '9', '7']]
于 2020-09-19T16:06:11.610 回答