优雅的pythonic解决方案,简单的循环

Jor*_*ren 0 python python-2.7

该函数bars获取一个Foo对象列表并返回这些bar属性的列表:

 def bars(foos):
      bars = []
      for foo in foos:
          bars.append(foo.bar)
      return bars
Run Code Online (Sandbox Code Playgroud)

来自Java背景,这是我过去解决这个问题的方式.但我觉得有更优雅的pythonic方式来解决这个问题.我该怎么办?

Kor*_*rem 6

使用list-comprehensions:

[foo.bar for foo in foos]
Run Code Online (Sandbox Code Playgroud)

(你可以用它包装def bars(foos):,但我认为没有它就更具可读性)