创建空列表并进行一些操作

时间:2013-03-03 21:27:32

标签: python regex string

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

  1. 在班级中创建空列表。
  2. 对列表中的每个元素进行操作,然后将其添加到我创建的empyt列表中。
  3. 到目前为止我的代码。

    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中构建它。

1 个答案:

答案 0 :(得分: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变量。我想不出任何理由使用一个奇怪的,不直观的类设置来混淆预先存在的功能,但如果这是你需要做的,我认为上面的代码就可以做到。