Mam listę w języku Python i chcę sprawdzić, czy jakiekolwiek elementy są ujemne. Specman ma metodę has()
dla list, który robi:Pythonowy sposób sprawdzania, czy warunek dotyczy dowolnego elementu listy.
x: list of uint;
if (x.has(it < 0)) {
// do something
};
Gdzie it
jest Specman kluczowe mapowane do każdego elementu listy po kolei.
Uważam, że to dość eleganckie. Przejrzałem numer Python documentation i nie mogłem znaleźć niczego podobnego. Najlepszym mogę wymyślić było:
if (True in [t < 0 for t in x]):
# do something
Uważam to raczej nieeleganckie. Czy istnieje lepszy sposób to zrobić w Pythonie?
Tylko 2,5. W przeciwnym razie musisz wykonać funkcję, być może za pomocą ifilter i wyjątków, lub bool (set ((x dla x jeśli cond)) lub tym podobne. –
Zamiast skomplikowanej rzeczy ifilter, po prostu wykonaj: def any (it): dla el in: if el: return True; return False – Rory