首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python:比较C4D中的层次结构

Python:比较C4D中的层次结构
EN

Stack Overflow用户
提问于 2020-07-17 00:14:53
回答 1查看 43关注 0票数 3

想知道我在这里做错了什么,我试图比较层次结构,以便我可以将具有相同名称的项目与PSR标签链接在一起,当从两个单独的层次结构(first_sel_list和second_sel_list)形成我的列表时,我在简化的列表中获得额外的结果。

代码语言:javascript
复制
    first_sel_list = ['First_Null', 'Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Ignore_Top_0', 'Ignore_Top_1', 'Ignore_Top_2', 'Ignore_Top_Child_00', 'Ignore_Top_Child_01', 'Ignore_Top_Child_02', 'Ignore_Top_Child_03', 'Cube.7']
    
    second_sel_list = ['Second_Null', 'Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Shit_Bot_0', 'Ignore_Bot_1', 'Ignore_Bot_2', 'Cube.4', 'Cube.6', 'Cube.7', 'Cube.5']
    
    link_list = ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Cube.7']
    
    for name in first_sel_list:
        if name not in link_list:
            first_sel_list.remove(name)
    for name in second_sel_list:
        if name not in link_list:
            second_sel_list.remove(name)
                
    
    print ('LINK LIST ' + str(link_list))        
    print ('Edited First list ' + str(first_sel_list))
    print ('Edited Second list ' + str(second_sel_list))

输出:

代码语言:javascript
复制
LINK LIST ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Cube.7']
Edited First list ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Ignore_Top_1', 'Ignore_Top_Child_00', 'Ignore_Top_Child_02', 'Cube.7']
Edited Second list ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Ignore_Bot_1', 'Cube.4', 'Cube.6', 'Cube.7', 'Cube.5']

预期输出:

代码语言:javascript
复制
LINK LIST ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Cube.7']
Edited First list ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.5', 'Cube.6', 'Cube.7']
Edited Second list ['Cube', 'Cube.1', 'Cube.2', 'Cube.3', 'Cube.4', 'Cube.6', 'Cube.7', 'Cube.5']

层次结构图:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-17 01:00:29

试一下这一点,而不是not in子句。不用担心不在列表中的元素,这有时会在删除时抛出问题,您只需获取具有直接引用的元素即可。总而言之,这会更安全一些。

first_sel_list =如果名称在first_sel_list中,则为link_list中的名称

second_sel_list =如果名称在second_sel_list中,则为link_list中的名称

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62939019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档