Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.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 2.7类中搜索2D数组_Python_Arrays_Python 2.7 - Fatal编程技术网

在Python 2.7类中搜索2D数组

在Python 2.7类中搜索2D数组,python,arrays,python-2.7,Python,Arrays,Python 2.7,我会用我是一个新手的事实来描述这一点 Python和我正在尝试编写一个类。我想要实现的是让类根据用户输入打开一组文本文件中的一个。文本文件包含如下信息: 20,21,22 23,24,25 26,27,28 文本文件将作为二维数组读取。从该数组中读取一个值并分配给一个新变量,以便打印该变量并在以后的计算中使用。在课外,我可以毫不费力地做到这一点,但在课堂上实现这一点令人沮丧。以下是迄今为止我为Python 2.7编写的代码: im_new = [] class Read(object)

我会用我是一个新手的事实来描述这一点 Python和我正在尝试编写一个类。我想要实现的是让类根据用户输入打开一组文本文件中的一个。文本文件包含如下信息:

 20,21,22
 23,24,25
 26,27,28
文本文件将作为二维数组读取。从该数组中读取一个值并分配给一个新变量,以便打印该变量并在以后的计算中使用。在课外,我可以毫不费力地做到这一点,但在课堂上实现这一点令人沮丧。以下是迄今为止我为Python 2.7编写的代码:

im_new = []

class Read(object):
    def __init__(self, agev, table, row, col, newvar):
        self.agevar = agev
        self.table = table
        self.row = row
        self.col = col
        self.newvar = newvar

        display_list = []


        with open(self.table + str(self.agevar) + ".txt", "r") as data_file:
            for line in data_file:
                display_list.append(line.strip().split(','))

    def __str__(self):
        self.newvar = (display_list[self.row][self.col])

immem = Read(40, "im", 1, 2, im_new)


print "Immediate Memory: " % im_new

理想情况下,参考示例文本文件,输出将是“即时内存:25”,但我得到的输出是“即时内存:”并且当我在控制台中打印值im_new时,我得到“[]”。我肯定我错过了一些很明显的东西。任何帮助都将不胜感激。提前感谢。

您的代码有问题,无法运行。我试图修复:

im_new = []

class Read(object):
    def __init__(self, agev, table, row, col, newvar):
        self.agevar = agev
        self.table = table
        self.row = row
        self.col = col
        self.newvar = newvar

        self.display_list = []


        with open(self.table + str(self.agevar) + ".txt", "r") as data_file:
            for line in data_file:
                self.display_list.append(line.strip().split(','))

    def __str__(self):
        self.newvar = (self.display_list[self.row][self.col])
        return self.newvar

immem = Read(40, "im", 1, 2, im_new)


print "Immediate Memory: ", immem

这将返回
即时内存:25
与您期望的一样,但我不确定这是您想要的。

我不太理解您的问题,但请尝试
打印“即时内存”:%imem.newvar
谢谢您的帮助。我对您建议的代码进行了更改,但没有与输出一致。我同意,也许我没有解释我做得好的地方。我将修改我的问题和代码并重新发布。我感谢你的努力。