Ответ 1
if any(t < 0 for t in x):
# do something
Кроме того, если вы собираетесь использовать "True in...", сделайте это генераторным выражением, чтобы он не занимал память O (n):
if True in (t < 0 for t in x):
У меня есть список в Python, и я хочу проверить, являются ли какие-либо элементы отрицательными. Specman имеет метод has()
для списков, который:
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?
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
Python имеет встроенную функцию any() для этой цели.