簡體   English   中英

python中的N叉樹

[英]N-ary tree in python

我想創建一個 N 叉樹,其中每個節點都包含一個鍵(名稱)和一個值。

1 個根,然后是 N 個孩子,有兩個字段 = 名稱和關聯值,每個孩子都有 N 個孩子,有 2 個字段。

尋找更簡單的方法而不使用 class 僅使用字典和列表(如果可能的話??)。

class Node():
    #Do something
    # ....
class Node(object):
    def __init__(self, name, value):
        self.name = name
        self.value = value
        self.children = []
    def add_child(self, obj):
        self.children.append(obj)

您說您正在尋找一種“不使用類的簡單方法”,但是我的主張是,使用類的十分之九的方法是更簡單的方法。

如果你堅持不使用類:

def create_node(name, value):
    return {
        'name': name,
        'value': value,
        'children': []
    }

def add_child(node, obj):
    node['children'].append(obj)

########################################
node = create_node('foo', 0)
add_child(node, create_node('bar', 1))

print(node) 
# Result: {'name': 'foo', 'value': 0, 'children': [{'name': 'bar', 'value': 1, 'children': []}]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM