내 개체 목록에 특정 속성 값을 가진 개체가 포함되어 있는지 확인하고 싶습니다.
class Test:
def __init__(self, name):
self.name = name
# in main()
l = []
l.append(Test("t1"))
l.append(Test("t2"))
l.append(Test("t2"))
"t1"
예를 들어 목록에 이름이있는 개체가 있는지 확인하는 방법을 원합니다 . 어떻게 할 수 있습니까? https://stackoverflow.com/a/598415/292291을 찾았습니다 .
[x for x in myList if x.n == 30] # list of all matches
any(x.n == 30 for x in myList) # if there is any matches
[i for i,x in enumerate(myList) if x.n == 30] # indices of all matches
def first(iterable, default=None):
for item in iterable:
return item
return default
first(x for x in myList if x.n == 30) # the first match, if any
매번 전체 목록을 살펴보고 싶지는 않습니다. 일치하는 인스턴스가 1 개 있는지 확인하면됩니다. 윌 first(...)
하거나 any(...)
또는 뭔가 다른 그런 짓을?