繁体   English   中英

如何制作分层列表python

[英]How do I make hierarchical lists python

我正在尝试在python中创建层次结构列表python。 例如,有几种状态。 每个州有几个县,每个县有几个城市。 然后,我可以打电话给那些人。 我尝试创建列表并将列表追加到那些列表,但是我无法正常工作。 它也变得非常混乱。 谢谢

我刚刚找到了这个例子:

tree = [
    ['Food', [
         ['Fruit', [
               ['Red', ['Cherry', 'Strawberry']],
               ['Yellow', ['Banana']],
         ]],
         ['Meat', [
               ['Beef', 'Pork']
         ]],
    ]],
]

现在我的问题就是,这是最好的方法吗? 如何称呼特定的事物? 如果我用...

print tree[0]

它会给我一切。 当我尝试

print tree[0[1]]

我收到TypeError类型的错误:“ int”对象没有属性“ __getitem_”,谢谢

您问题的直接答案是该列表可能是正确创建的,但是您没有正确访问它。

您可以像这样访问嵌套列表:

tree[0][1]...

不像这样

tree[0[1[..]]]

但是,您应该使用字典,而不是列表。 这将使您的查找更加简单,并且查找效率也会更高。

如果您有兴趣了解字典的工作方式。 Google称为“关联数组”。 它们也称为哈希表或哈希表。

此外,而不是使用期限分级术语多维是比较常见的。

例如:

mylist=[
        [...],
        [...],
        .
        . 
       ]

是二维列表

字典是必经之路。

d = {'food': 
        {'fruit':
            {'color':
                {'red': ['Cherry', 'Strawberry']},
                {'yellow': ['Banana']},
            },
        },
        {'meat': ['Beef', 'Pork']}
    }

现在您可以执行以下操作:

for item in d['food']['fruit']['color']['red']:
    print(item)
# Cherry
# Strawberry

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM