我有一个2D列表
paths = [["root", "folderA", "folderB", "folderC", "folderD"], ["root", "folderA", "folderB", "folderE"]]
它表示如下所示的树结构:
root
----A (1)
--------B (2)
------------C (3)
----------------D (4)
------------E (5)
我想为每个文件夹分配一个唯一的ID(顺序无关紧要)
但是,文件夹名称可以重叠。因此,不在同一级别的两个文件夹可以具有相同的名称。比如A和E可以有相同的名字,但C和E不能
我写了这个:
d = defaultdict(lambda: len(d))
ids = [[d[y] for y in x] for x in paths]
但是,这会将相同的ID分配给相同的文件夹名称。 鉴于我的命名条件,有人能帮我想出其他聪明的方法吗
使整个路径成为名称的一部分:
相关问题 更多 >
编程相关推荐