如何解决将带有硬编码换行符的字符串转换为python中的矩阵
我正在尝试创建一个类,该类采用带有硬编码换行符的数字字符串,并输出一个矩阵和有关该矩阵的详细信息。首先,我只是想能够创建矩阵,但是我很挣扎。我知道我可以使用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]]
解决方法
您似乎想要一个列表列表。为此,您可以使用嵌套列表理解。
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]]
,
实际上并不难:
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']]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。