У меня есть список в Python, и я хочу проверить, являются ли какие-либо элементы отрицательными. Specman имеет метод has()
для списков, который делает:Pythonic способ проверить, выполнено ли условие для любого элемента списка
x: list of uint;
if (x.has(it < 0)) {
// do something
};
Где it
является Specman ключевое слово отображается на каждый элемент списка, в свою очередь.
Я нахожу это довольно элегантным. Я просмотрел Python documentation и не нашел ничего подобного. Лучшее, что я мог придумать, было:
if (True in [t < 0 for t in x]):
# do something
Я нахожу это довольно неэлегантным. Есть ли лучший способ сделать это в Python?
2,5+ только. В противном случае вам нужно сделать функцию, возможно, используя ifilter и исключения, или bool (set ((x for x if cond))) или тому подобное. –
Вместо сложного ifilter thingie просто выполните: def any (it): для el в нем: if el: return True; return False – Rory