我可以在for循环定义中将函数应用于变量(Python)

时间:2013-06-21 04:40:26

标签: python algorithm list iteration user-defined-functions

我正在使用python 3.2解析电子邮件。

我将每个电子邮件文件放在一个列表中。我想将电子邮件细分为标题列表和正文列表。

您如何看待这种方法?

def decap(self):
    # separate headers from bodies

    self.heads = []; self.bodies = []

    for email.readlines() in self.inbox.dex:                                                                                                                                     
        """The first 20 lines appended to the heads list"""
        self.heads.append(email[:10])
        """Remaining lines appended to the bodies list"""
        self.bodies.append(email[10:])

self.inbox.dex是文件对象列表

1 个答案:

答案 0 :(得分:0)

你几乎就在那里

...
for email in self.inbox.dex:
    email = email.readlines()
    ...

另外,你可以使用列表理解(更多包装):

data = ((email[:10], email[10:]) for email in 
        (x.readlines() for x in self.inbox.dex))
self.heads, self.bodies = zip(*data)