[python] 조건이 목록의 요소에 대해 유지되는지 확인하는 Pythonic 방법

Python에 목록이 있고 요소가 음수인지 확인하고 싶습니다. Specman에는 다음 has()을 수행하는 목록에 대한 방법이 있습니다.

x: list of uint;
if (x.has(it < 0)) {
    // do something
};

it목록의 각 요소에 차례로 매핑되는 Specman 키워드는 어디에 있습니까 ?

나는 이것이 다소 우아하다고 생각합니다. 파이썬 문서를 살펴 봤는데 비슷한 것을 찾을 수 없었습니다. 내가 생각 해낼 수있는 최선은 :

if (True in [t < 0 for t in x]):
    # do something

나는 이것이 다소 우아하지 않다고 생각합니다. Python에서이 작업을 수행하는 더 좋은 방법이 있습니까?



답변

any () :

if any(t < 0 for t in x):
    # do something

또한 “True in …”을 사용하려면 O (n) 메모리를 사용하지 않도록 생성기 표현식으로 만드십시오.

if True in (t < 0 for t in x):


답변

사용 any().

if any(t < 0 for t in x):
    # do something


답변

파이썬에는 정확히 이러한 목적을 위해 any () 함수 가 내장되어 있습니다.


답변