Использование bisect в списке кортежей?

Я пытаюсь понять, как использовать bisect в списке кортежей, например

[(3, 1), (2, 2), (5, 6)] 

Как я могу делить пополам этот список в соответствии с [1] в каждом кортеже?

 list_dict [(69, 8), (70, 8), ((65, 67), 6)] tup1,tup2 (69, 8) (70, 8) list_dict [((65, 67), 6)] fst, snd ((65, 67),) (6,) 

И я вставляю в bisect

 idx = bisect.bisect(fst, tup1[1]+tup2[1]) 

Который дает мне unorderable types: int() < tuple()

3 Solutions collect form web for “Использование bisect в списке кортежей?”

Вы можете выделить значения в отдельных списках.

 from bisect import bisect data = [(3, 1), (2, 2), (5, 6)] fst, snd = zip(*data) idx = bisect(fst, 2) 

Обратите внимание, однако, что для работы bisect ваши данные действительно должны быть заказаны …

В некоторых случаях просто

 bisect(list_of_tuples, (3, None)) 

будет достаточно.

Поскольку None будет сравнивать меньше, чем любое целое число, это даст вам индекс первого кортежа, начинающегося как минимум с 3 или len(list_of_tuples) если все они меньше 3. Обратите внимание, что list_of_tuples сортируется.

Проверьте нижнюю часть документации: http://docs.python.org/3/library/bisect.html . Если вы хотите сравнить с чем-то другим, кроме самого элемента, вы должны создать отдельный список так называемых ключей. В вашем случае список int, содержащий только [1] кортежа. Используйте этот второй список для вычисления индекса с помощью bisect. Затем используйте это для того, чтобы вставить элемент в исходное (список кортежей) и ключ ([1] кортежа) в новый список ключей (список целых чисел).

  • импорт numpy работает с интерпретатором, но не полностью с pyscripter в python
  • В чем разница между python 3.3 и 3.3m
  • Как я могу более легко подавить предыдущие исключения, когда я выражу свое собственное исключение в ответ?
  • Является ли python package virtualenv необходимым, когда я использую python 3.3?
  • Python3 - reload () нельзя вызвать в объекте __import__?
  • Простой: Python запрашивает ввод дважды
  • itertools.accumulate () по сравнению с functools.reduce ()
  • Python 3: ImportError «Нет модуля с именем Setuptools»
  • Почему печать настолько медленная в Python 3.3 и как я могу ее исправить?
  • python os.listdir не отображает все файлы
  • Форматировать строку времени в Python 3.3
  •  
    Interesting Posts for Van-Lav

    Слияние ключей словаря, если значения одинаковы

    Как получить выбранный вариант с помощью Selenium WebDriver с Python?

    Использование numpy.genfromtxt для чтения csv-файла со строками, содержащими запятые

    переопределить во время выполнения __setattr__

    Как проверить наличие ключа значения (как определено в одном dict) в другом dict, в Python?

    Regex для разделения на последовательности символов новой строки

    Является ли KMeans Spark неспособным обрабатывать bigdata?

    Преобразовать диапазон чисел в другой диапазон, поддерживая коэффициент

    Имеет ли numpy общий обобщенный продукт?

    Общие сведения о многопроцессорности: управление общей памятью, блокировки и очереди в Python

    Получить день недели / день недели для столбца Datetime в DataFrame

    SSLError: невозможно подключиться к URL-адресу HTTPS, потому что модуль SSL недоступен в Google App Engine

    Pandas groupby с dict

    Сгладить список вложенных списков с переменными размерами в массив SciPy

    Как хранить данные тестирования для nosetests python?

    Python - лучший язык программирования в мире.