본문 바로가기
파이썬

파이썬 Python에서 객체 목록 검색

by º기록 2020. 10. 3.
반응형

데이터 요소를 보유하기 위해 C 스타일 구조체와 유사하게 작동하는 간단한 클래스를 생성한다고 가정 해 보겠습니다. 특정 값과 동일한 속성을 가진 개체의 개체 목록을 검색하는 방법을 알아 내려고합니다. 아래는 내가하려는 작업을 설명하는 간단한 예입니다.

예를 들면 :

class Data:
    pass

myList = []

for i in range(20):
    data = Data()
    data.n = i
    data.n_squared = i * i
    myList.append(data)

n == 5 인 요소가 포함되어 있는지 확인하기 위해 myList 목록을 검색하는 방법은 무엇입니까?

저는 파이썬 문서를 인터넷 검색하고 검색해 왔으며 목록 이해력으로 이것을 할 수 있다고 생각하지만 확실하지 않습니다. 그런데 Python 2.4.3을 사용해야하므로 새로운 gee-whiz 2.6 또는 3.x 기능을 사용할 수 없습니다.

 

해결 방법

 

목록 이해도와 일치하는 모든 요소의 목록을 가져올 수 있습니다.

[x for x in myList if x.n == 30]  # list of all elements with .n==30

목록에 일치하는 모든 요소가 포함되어 있는지 확인하고 (상대적으로) 효율적으로 수행하려면 다음을 수행 할 수 있습니다.

def contains(list, filter):
    for x in list:
        if filter(x):
            return True
    return False

if contains(myList, lambda x: x.n == 3)  # True if any element has .n==3
    # do stuff

 

참조 페이지 https://stackoverflow.com/questions/598398

 

 

반응형

댓글