반응형
데이터 요소를 보유하기 위해 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
반응형
'파이썬' 카테고리의 다른 글
파이썬 --verbose 또는 -v 옵션을 스크립트에 구현하는 방법은 무엇입니까? (0) | 2020.10.03 |
---|---|
파이썬 제거하지 않고 집합에서 요소를 검색하는 방법은 무엇입니까? (0) | 2020.10.03 |
파이썬 re.sub 그룹 : \ number 뒤의 숫자 (0) | 2020.10.02 |
파이썬 Pipe character in Python (0) | 2020.10.02 |
파이썬 PyPlot 창을 여러 개 가질 수 있습니까? 아니면 서브 플롯으로 제한됩니까? (0) | 2020.10.02 |
댓글