分析列表中的元素并将结果存储在字典中

2024-06-28 20:44:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从一个单独的文件导入一个类(我做到了),让它解析列表中的一个元素,并将解析后的文件存储为字典。你知道吗

我需要你的帮助。我以为会有回报,但没有,所以我不知道我应该做什么。我认为这是可能的,但我不知道怎么做。你知道吗

到目前为止,我掌握的代码是:

class GCCCOMPARE():
    def __init__(self, list):
        self.GCCLIST = list 
        self.compare()
        self.GCCN = []
        self.GCCPLUS = []


    def compare(self):
        n=0
        while n<size(self.GCCLIST):
            self.GCCN=self.GCCLIST[n]
            self.GCCPLUS=self.GCCLIST[n+1]
            GCCFORMAT.__init__(GCCN)

我得到的另一个文件中的代码是:

class GCCFORMAT():
    def __init__(self, file):
        #print"New GCC Load"
        self.pList = [];
        self.dList = [];
        self.file = file;
        self.parse()

    def parse(self):
        with open(self.file, "r") as icdhelper:
            for line in icdhelper:
                sArr = line.split()
                self.pList.append(PARAM(sArr[0], sArr[4], sArr[2], sArr[3], sArr[6], sArr[7]))

我怀疑这对任何有经验的人来说都是困难的,但即便如此,还是要感谢很多人!你知道吗


Tags: 文件代码selfparseinitdeflistclass
2条回答

当您创建GCCFORMAT类的实例时,它将为您进行解析,并将结果存储在实例属性pList中。只需访问该属性:

gcc_format = GCCFORMAT(GCCN)
results = gcc_format.pList

下面是一个可能的解决方案:

你知道吗GCC比较.py你知道吗

import GCCFORMAT
class GCCCOMPARE():
  def __init__(self, list):
    self.GCCLIST = list
    self.GCCDICT = {}
    self.compare()

  def compare(self):
    for i,element in enumerate(self.GCCLIST):
      data = GCCFORMAT.GCCFORMAT(element)
      self.GCCDICT.update({i:data.pList})

你知道吗GCC格式.py你知道吗

class GCCFORMAT():
  def __init__(self, file):
    #print"New GCC Load"
    self.pList = [];
    self.dList = [];
    self.file = file;
    self.parse()

  def parse(self):
    with open(self.file, "r") as icdhelper:
      for line in icdhelper:
        sArr = line.split()
        self.pList.append([sArr[0], sArr[4], sArr[2], sArr[3], sArr[6], sArr[7]])

温度0.txt

0 1 2 3 4 5 6 7 8 9

temp1.txt文件

0 1 2 3 4 5 6 7 8 9

然后可以按如下方式使用上述类:

import GCCCOMPARE
somevariable = GCCCOMPARE.GCCCOMPARE(["temp0.txt","temp1.txt"])
desired_dictonary = somevariable.GCCDICT

输出为

desired_dictionary = {0: [['0', '4', '2', '3', '6', '7']], 1: [['0', '4', '2', '3', '6', '7']]}

相关问题 更多 >