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

发布于 2020-07-17 01:00:29
试一下这一点,而不是not in子句。不用担心不在列表中的元素,这有时会在删除时抛出问题,您只需获取具有直接引用的元素即可。总而言之,这会更安全一些。
first_sel_list =如果名称在first_sel_list中,则为link_list中的名称
second_sel_list =如果名称在second_sel_list中,则为link_list中的名称
https://stackoverflow.com/questions/62939019
复制相似问题