У меня есть sorted list
. Например, my list
является:Как подсчитать элементы между двумя значениями в отсортированном списке?
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
На самом деле, у меня есть список объектов моего класса с int property
, на котором отсортированный список.
Я хочу рассчитать количество объектов, имеющих значение this property
между two values
.
Я ищу следующий эквивалент python.
int main() {
int myints[] = {10,20,30,30,20,10,10,20};
std::vector<int> v(myints,myints+8); // 10 20 30 30 20 10 10 20
std::sort (v.begin(), v.end()); // 10 10 10 20 20 20 30 30
std::vector<int>::iterator low,up;
low=std::lower_bound (v.begin(), v.end(), 20); // ^
up= std::upper_bound (v.begin(), v.end(), 20); // ^
std::cout << "lower_bound at position " << (low- v.begin()) << '\n';
std::cout << "upper_bound at position " << (up - v.begin()) << '\n';
std::cout << "MY_RESULT IS" << (up - v.begin()) - (low- v.begin()) << '\n';
return 0;
}
@Elizion, slise ли объекты копирования? – Denis
копирует ссылки. – thebjorn
Нарезка не будет работать, как если бы она ссылалась на индекс участника в списке, а не на значение свойства. Что относительно 'len ([i для i в my_list, если низкий