Использование HTML5 pushState () в IE9

MySQL позволяет комментарии к таблицам и строкам. PostgreSQL делает также. Из других ответов Oracle и MSSQL имеют комментарии также.

Для меня, комбинации диаграммы UML для быстрого напоминания на именах полей, типах, и ограничениях и внешнем документе (TeX, но мог быть любой формат) с расширенным описанием всего связанного с базой данных - специальных значений, полевых комментариев, примечаний доступа, безотносительно - работы лучше всего.

26
задан Omnifarious 6 April 2011 в 21:00
поделиться

2 ответа

Используйте SortedDict из SortedCollection .

SortedDict предоставляет те же методы, что и dict. Кроме того, SortedDict эффективно поддерживает свои ключи в отсортированном порядке. Следовательно, метод keys возвращает ключи в отсортированном порядке, метод popitem удаляет элемент с самым высоким ключом и т. Д.

Я использовал это - это работает. К сожалению, сейчас у меня нет времени для правильного сравнения производительности, но субъективно кажется, что он стал быстрее модуля bisect .

11
ответ дан 28 November 2019 в 07:51
поделиться

Чтобы ответить на ваш вопрос:

Is there a data structure like that available in Python?

Нет, нет. Но вы можете легко создать его самостоятельно, используя список в качестве базовой структуры и код из модуля bisect, чтобы поддерживать список в порядке и проверять совпадения.

class RangeList(list):
"""Maintain ordered list of non-overlapping ranges"""
    def add(self, range):
    """Add a range if no overlap else reject it"""
        lo = 0; hi = len(self)
        while lo < hi:
            mid = (lo + hi)//2
            if range < self[mid]: hi = mid
            else: lo = mid + 1
        if overlaps(range, self[lo]):
            print("range overlap, not added")
        else:
            self.insert(lo, range)

Я оставляю функцию overlaps в качестве упражнения. (Этот код не проверен и может нуждаться в настройке)

0
ответ дан 28 November 2019 в 07:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: