2009-03-24 43 views

Trả lời

36

Một danh sách hiểu biết sẽ chỉ làm việc tốt:

[o.my_attr for o in my_list] 

Nhưng có một sự kết hợp của các chức năng built-in, kể từ khi bạn hỏi :-)

from operator import attrgetter 
map(attrgetter('my_attr'), my_list) 
+0

Tuyệt vời. Cảm ơn bạn! –

+0

không tích hợp nếu bạn cần nhập. ;) http://docs.python.org/library/functions.html – SilentGhost

+3

Tôi cầu xin sắc thái: "được xây dựng trong"! = "__builtins__ 'Vâng, đó là câu chuyện của tôi và tôi gắn bó với nó, nhân viên.: -) –

0

Giả sử bạn muốn lĩnh vực b cho các đối tượng trong một danh sách tên objects làm điều này:

[o.b for o in objects] 
+0

tôi giả sử bạn có nghĩa là [ ob cho o trong các đối tượng]. –

3

Điều đầu tiên mà đến tâm trí của tôi:

attrList = map(lambda x: x.attr, objectList) 
+0

Có gì sai với lambda? –

7

Bạn đang tìm kiếm một cái gì đó như thế này ?

[o.specific_attr for o in objects] 
Các vấn đề liên quan