使列表理解功能

时间:2014-06-21 13:32:31

标签: python function list-comprehension

我的代码中有几行与

非常相似
[this.Attribute for this in THAT if something]

有没有办法让函数以更短的方式返回?因为创建它们非常繁琐,而且我发现它们如此易读,特别是如果有太多的“if-conditions”条件。

编辑:

好吧,我经常花时间尝试从符合某些标准的大清单中获取某些内容。我经常需要改变标准和输出。 像这样:

[obj for obj in Object.ALLOBJECTS if obj.pos == (x,y)]

[creature.pos for creature in Creature.ALLCREATURES if creature is not caller]

[creature for creature in Creature.ALLCREATURES if creature.pos == pos and creature is not caller]

等等。

也许我从一开始就做错了。

1 个答案:

答案 0 :(得分:2)

您可以将条件外包给函数。如果它很复杂,那就是 将分解复杂性并使每个部分更容易阅读,这 或多或少是功能的重点。