Привет я пытаюсь найти, если значения в списке меньше или равны 1, а затем подсчитать их. Моя проблема в том, что я не знаю, как проверить списки для определенных значений. Вот фрагмент моего кода:

xylist = [distance(a,b) for a,b in zip(randomlistx,randomlisty)]

Где в списке до 1 миллиона случайно сгенерированных чисел, некоторые из которых меньше 1, а некоторые больше.

Я пытался использовать для циклов и счетчиков, но это не сработало вообще.

0
aussy16 16 Дек 2015 в 19:10

3 ответа

Лучший ответ

Вы можете передать выражение генератора для суммирования. Если сгенерированная последовательность состоит из логических значений, то истинные значения считаются как 1, поэтому sum действует как счет.

sum(x<=1 for x in xylist)
5
khelwood 16 Дек 2015 в 16:15

Попробуйте следующее:

sum(x < 1 for x in xylist)
4
Zachary Cross 16 Дек 2015 в 16:16

Работа с массивами-пустышками иногда будет проще в больших числовых списках:

import numpy as np

arr = np.array(list)
sum(arr < 1)
1
gt6989b 16 Дек 2015 в 16:15