在Python中选择数据结构

时间:2018-09-09 14:28:52

标签: python data-structures

我想操纵这种形式的数据:

{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(存储密钥值和相关的非密钥条目)吗?

我知道这是一个广泛的问题。如果有帮助,我正在尝试解决this问题。

PS。我正在尝试在线课程。那不是硬件。我想,即使那是硬件,我的问题不是要寻求解决方案。

编辑

该数据收集包含许多小的txt文件,其中包含一些文本。在数据结构中,最终我想保存所有txt文件中的唯一单词以及指向这些单词出现的documentid的指针。

例如:

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 :(得分:2)

几乎可以肯定您想要的是列表字典。

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)

但是您应该从集合模块中检出defaultdictOrderedDictcounter