Python简化了列表理解的代码

Python simplify code of list comprehension

本问题已经有最佳答案,请猛点这里访问。

请看下面的代码:

1
2
3
4
5
6
7
def __init__(self):
    self.job = Job('today', 10)

def createList(self):
    return [self.job(date=self.date,
                             selary=cv.salary)
            for cv in self.cvItems]

我不理解createlist方法的语法。你能用更简单的方式为Java开发人员理解吗?


如果你一开始没有得到它,就把它转换成一个for循环。

1
2
3
4
result = []
for cv in self.cvItems:
   result.append(self.job(date=self.date, selary=cv.selary))
return result

无关:这是拼写工资。

相比:

1
2
3
4
5
6
7
[self.job(date=self.date, selary=cv.selary) for cv in self.cvItems]
#     (1)                                       (2)        (3)

for cv in self.cvItems:
#   (2)        (3)
    result.append(self.job(date=self.date, selary=cv.selary))
#                      (1)