Выбор структуры данных в Python - PullRequest
0 голосов
/ 09 сентября 2018

Я хочу манипулировать данными этой формы:

{red -> 1,5,6,7,5,11,...}
{green -> 2,3,4,10,11,12,...}
{blue -> 2,3,5,6,7,8,9,10,...}

где цвета - это ключи, а числа - это, скажем, некоторые местоположения (неключевые целочисленные значения).

У меня будет много цветов и много связанных чисел.

Я хочу выполнить такие операции, как общее количество цветов, 5 лучших цветов с большинством чисел и т. Д.

Что data structures в Python вы можете предложить использовать (где хранится значение ключа и связанные неключевые записи)?

Я знаю, что это широкий вопрос. Я пытаюсь решить эту проблему, если это поможет.

PS. Я пытаюсь следовать онлайн-курс. И это не hw. Думаю, даже если бы это был вопрос, мой вопрос не требует решения.

EDIT

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

Ex:

1.txt
"The weather today is good"
2.txt
"It is going to rain today"

data structure should be (numbers are docid's)
{
The->1
weather->1
today->1,2
is->1,2
good->1
it->2
going->2
to->2
rain->2

1 Ответ

0 голосов
/ 09 сентября 2018

То, что вы хотите - это почти наверняка словарь списков.

data = {"red": [1, 5, 6, 7, 5, 11],
        "green": [2, 3, 4, 10, 11, 12],
        "blue": [2, 3, 5, 6, 7, 8, 9, 10],
        }

Чтобы получить общее количество цветов:

number = len(data)

Для сортировки словаря по длине значений:

sorted_colours = sorted(data, key=lambda x: len(data[x]), reverse=True)

Но вы, вероятно, должны проверить defaultdict, OrderedDict и counter из модуля коллекций.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...