2

这是我想要做的。我有一个包含字符串作为元素的列表。现在我想用它做两件事以上。

  1. 在类内创建空列表。
  2. 对列表中的每个元素进行操作,然后将其添加到我创建的空列表中。

到目前为止我的代码。

class aer(object):
  def __init__(self):
    self.value = []
  def rem_digit(self,s):
    self.value.append(re.sub(" \d+"," ",s))
  def to_lower(self,s):
    self.value.append(self.s.lower())

如果有人能指出我所犯的错误,那就太好了。以及如何访问我在课堂上制作的“列表”。

样品清单:

mki = ["@tenSjunkie We're sorry for the inconvenience. Please call the Guest Service Desk using this link http://t.co/8Zv8DFwbbu and your receipt.",
 "@lindz_h We're sorry for the inconvenience. Please call the Guest Service Desk using this link http://t.co/Ak9fnazHZN and your receipt."]

比上次有所改进,或者说我在 CLASS 面前被打败了

def some_mani(old_list):
    new_list = []
    for i in range(0,len(old_list)):
        new_list.append(re.sub(" \d+"," ",old_list[i]).lower())
    return new_list

我仍然想知道是否有人帮助我在 CLASS 中构建它。

4

1 回答 1

0

我在理解你为什么想要这个时遇到了一些麻烦,但听起来你想要一个包含字符串列表的类以及一些方法来执行一些简单的字符串操作并将结果添加到该列表中。基于这个假设,这里有一些代码:

class MysteriousStringContainer(object):
    def __init__(self):
        self.values = []

    def remove_digits(self, s):
        self.values.append(re.sub("\d+", " ", s))

    def to_lower(self, s):
        self.values.append(s.lower())

现在你可以初始化一个 MysteriousStringContainer 并开始调用它的方法:

>>> m = MysteriousStringContainer()
>>> print m.values
[]
>>> for s in mki:
...     m.remove_digits(s)
...
>>> print m.values
["@tenSjunkie We're sorry for the inconvenience. Please call the Guest Service Desk using this link http://t.co/ Zv DFwbbu and your receipt.", "@lindz_h We're sorry for the inconvenience. Please call the Guest Service Desk using this link http://t.co/Ak fnazHZN and your receipt."]

如您所见,数字已被删除,生成的字符串可在m.values. 不过,在你继续使用它之前,我必须强调,这几乎可以肯定是一种糟糕的方式来做你想做的任何事情。如果没有围绕它的类,上面的代码会写得更好:

>>> nodigits = re.sub("\d+", " ", mki[0])
>>> print nodigits
"@tenSjunkie We're sorry for the inconvenience. Please call the Guest Service Desk using this link http://t.co/ Zv DFwbbu and your receipt."

在这里,mki列表中仍然有原始字符串,并且没有数字的新字符串存储为nodigits变量。我想不出任何理由使用奇怪且不直观的类设置来混淆预先存在的功能,但如果这是你需要做的,我认为上面的代码会做到这一点。

于 2013-03-06T23:48:56.933 回答