Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как найти пересечение интервалов списка словарей? 
:(
    Опции темы
martin88
Дата 7.12.2015, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 29.3.2012

Репутация: нет
Всего: нет



Пример списка:

Код

[
{'start': 10, 'end': 20}, 
{'start': 5, 'end': 15}, 
{'start': 12, 'end': 15}, 
{'start': 25, 'end': 30}, # эти значения словаря не пересекаются с предыдущими
]


Как найти кол-во пересечений значений start и end ?
То есть в данном случае 3 пересечения (первые 3 словаря в списке )


PM MAIL   Вверх
Garmahis
Дата 8.12.2015, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 254
Регистрация: 23.12.2004

Репутация: 2
Всего: 4



ну если назвать первый интервал a а второй b то они пересекаются если a.start <= b.end AND a.end >= b.start
PM   Вверх
wecandoit
Дата 3.2.2016, 06:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 3.2.2016

Репутация: нет
Всего: нет



Код

In [1]: set(range(10,21)) & set(range(5, 16)) & set(range(12, 16))
Out[1]: {12, 13, 14, 15}

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0388 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.