반응형
파이썬의 객체 목록에서 속성 목록 추출
나는이 균일 파이썬에서 개체의 목록을 :
class myClass(object):
def __init__(self, attr):
self.attr = attr
self.other = None
objs = [myClass (i) for i in range(10)]
이제 일부 기능을 전달하기 위해 해당 클래스의 일부 속성 (attr이라고 가정 해 보겠습니다)이 포함 된 목록을 추출하고 싶습니다 (예 : 데이터 플로팅).
비단뱀적인 방법은 무엇입니까?
attr=[o.attr for o in objsm]
?
목록을 파생시키고 여기에 메서드를 추가 할 수 있으므로 다음과 같은 관용구를 사용할 수 있습니다.
objs.getattribute("attr")
?
다음과 같이 작성할 수도 있습니다.
attr=(o.attr for o in objsm)
이렇게하면 메모리를 절약하는 생성기를 얻을 수 있습니다. 더 많은 이점을 보려면 Generator Expressions를 참조하십시오 .
attrs = [o.attr for o in objs]
설명하는 것과 같은 목록을 만들기위한 올바른 코드였습니다. 이것을 위해 서브 클래스 list
를 시도하지 마십시오 . 그 스 니펫에서 마음에 들지 않는 부분이 있습니까?
반응형
'Program Tip' 카테고리의 다른 글
힘내 풀 : 오류 : 항목 foo가 업데이트되지 않았습니다. (0) | 2020.11.20 |
---|---|
addEventListener를 사용하는 핸들러 내의 "this"값 (0) | 2020.11.20 |
"Inversion of Control", "Dependency inversion"및 "Decoupling"의 차이점 (0) | 2020.11.20 |
선택 상자의 각도, 부울 값 (0) | 2020.11.19 |
Android SDK 2.3 및 ADT 8.0으로 업그레이드 한 후 "프로젝트 용 시스템 라이브러리를 가져올 수 없습니다" (0) | 2020.11.19 |