Python如何组织数据而不是嵌套的字典和列表

2024-09-21 04:36:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我读过很多关于嵌套字典和列表的文章(例如Object vs. Dictionary: how to organise a data tree?),但是我仍然不明白什么时候应该选择不同的数据结构。你知道吗

我经常发现自己开始编程时使用的是一个列表字典,然后哦,我需要添加其他内容,让列表中的每个值都成为一个元组,然后还有其他内容。。。很快,它就成了一个由嵌套列表和字典组成的深层弗兰肯斯坦。你知道吗

然后我试着花更多的时间用注释记录数据结构,然后实际编码它。我仍然认为下一个程序员很难掌握和使用它。好像我把一切都搞复杂了。在这一点上,我考虑让类来处理它。只有属性的类似乎并不理想。你知道吗

下面是一个基本示例:

dict = {
    heading1 : [
        (value1, id1), (value2, id2)
    ],
    heading2 : [
        (value3, id3), (value4, id4)
    ],
}

如何编写上述数据结构的代码,使其更易于理解和维护?你知道吗


Tags: totree数据结构内容列表datadictionary字典
1条回答
网友
1楼 · 发布于 2024-09-21 04:36:28

包含元组列表的复杂字典可以被对象替换。你知道吗

dict = {
    heading1 : [
        (value1, id1), (value2, id2)
    ],
    heading2 : [
        (value3, id3), (value4, id4)
    ],
}

相反,您可以尝试以下方法。这不是一个很好的例子,但它给出了一个如何工作的想法。你知道吗

class Thing:
    headings = [] # This will be a list of Headings

class Heading:
    values = [] # This will be a list of values, of whatever type you need (e.g. string)

像这样使用:

heading = Heading()
heading.values.append("Test value")

thing = Thing()
thing.headings.append(heading)

print(thing.headings[0].values[0]) # Prints "Test value"

相关问题 更多 >

    热门问题