Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从.mtx文件创建列表_Python_Python 3.x_Function_File - Fatal编程技术网

Python 从.mtx文件创建列表

Python 从.mtx文件创建列表,python,python-3.x,function,file,Python,Python 3.x,Function,File,我必须编写一个函数,从Mydata.mtx文件中获取一个数字矩阵,并为每一行创建一个列表。 Mydata.mtx文件只是一个简单的文件,其数字矩阵如下所示 为便于澄清,以下是文件中的矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 函数应返回每行的列表列表: [['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10'], ['11', '12', '13', '14', '15

我必须编写一个函数,从
Mydata.mtx
文件中获取一个数字矩阵,并为每一行创建一个列表。 Mydata.mtx文件只是一个简单的文件,其数字矩阵如下所示

为便于澄清,以下是文件中的矩阵:

1   2   3   4   5
6   7   8   9   10
11  12  13  14  15
函数应返回每行的列表列表:

[['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10'], ['11', '12', '13', '14', '15']]
我无法获取此信息(上图),但请继续获取此信息(下图):

代码如下:

#print statements are just to see what my output would be
def readMatrix(filename):
    listOfLists = []
    file = open(filename, "r")
    for i in file:
        iList = list(i)
        listOfLists.append(iList)
    print(listOfLists)



callFile = input("Enter the file name: ")
toReadFile = readMatrix(callFile)
额外信息:

第二个函数应该转置这个矩阵

之后,第三个函数创建一个新文件
T.Mydata.mtx

(但我可以稍后再尝试解决这些问题。我的主要问题是第一个函数问题: 看起来你有一些额外的空间

解决方案: 问题: 看起来你有一些额外的空间

解决方案: 简单的修复方法是不使用
sep
参数,删除数字之间的所有空白

def readMatrix(filename):
    listOfLists = []
    with open(filename) as f:
        for i in f:
            listOfLists.append(i.split())
    return listOfLists


callFile = input("Enter the file name: ")
toReadFile = readMatrix(callFile)
print(toReadFile)
还可以使用列表理解更简洁地表达它

def readMatrix(filename):
    with open(filename) as f:
        return [line.split() for line in f]
简单的修复方法是不使用
sep
参数,删除数字之间的所有空白

def readMatrix(filename):
    listOfLists = []
    with open(filename) as f:
        for i in f:
            listOfLists.append(i.split())
    return listOfLists


callFile = input("Enter the file name: ")
toReadFile = readMatrix(callFile)
print(toReadFile)
还可以使用列表理解更简洁地表达它

def readMatrix(filename):
    with open(filename) as f:
        return [line.split() for line in f]

你的代码在哪里?看起来你只需要去掉空格。@PaulRooney是的,很抱歉我忘了添加。。应该现在就在那里。你的代码在哪里?看起来你只需要去掉空格。@PaulRooney是的,很抱歉我忘了添加。。应该现在就在那里。非常感谢,但是有没有不导入的方法?非常感谢,但是有没有不导入的方法呢?非常感谢您的帮助。我非常感谢您。我不知道这一点。我只是认为str.split()实际上等于str.split(“”)我添加了一个指向文档的链接,对其进行了解释。此外,如果您想转置矩阵,您可以使用numpy还是希望自己实现它?很抱歉,回复太晚。我正在尝试在不使用导入的情况下解决此代码。我使用了
[列表(I)for I in zip(*m)]
在第二个函数中用于转置矩阵。到目前为止,它可以工作,但需要将其更改为可以接受空矩阵。空矩阵是什么样子的?是
[]
还是
[[]]
还是其他什么?非常感谢您的帮助。我非常感谢您,我不知道这一点。只是想str.split()实际上等于str.split(“”)我添加了一个到文档的链接来解释它。另外,如果你想转置矩阵,你可以使用numpy吗?或者你想自己实现它吗?很抱歉回复太晚。我正在尝试在不使用导入的情况下解算此代码。我使用了
[列表(I)for I in zip(*m)]
在第二个函数中用于转置矩阵。到目前为止,它可以工作,但需要更改它以接受空矩阵。空矩阵是什么样子的?是
[]
还是
[[]]
还是其他什么?