为了账号安全,请及时绑定邮箱和手机立即绑定

按现有顺序将列表中的每个元素与第二个列表中的元素按顺序进行比较,前提是列表中的项目相等

按现有顺序将列表中的每个元素与第二个列表中的元素按顺序进行比较,前提是列表中的项目相等

江户川乱折腾 2023-12-26 16:44:43
只要列表中的项目相等,就按现有顺序将列表中的每个元素与第二个列表中按现有顺序的元素进行比较。如果它们不相等,则停止并给我结果最后一场比赛的索引和名称。我认为使用 while 循环很简单,但似乎必须使用 for 循环来实现。我要比较的列表之一: nk_script_file_path['P:', 'Projects', '2019_projects', '1910_My_Project', '01_Production_IN', '01_OFX', '01_Comp', '00_Nuke', 'relink_test_v001.nk']我想将它与我的第二个列表进行比较: node_filepath['P:', 'Projects', '2019_projects', '1910_My_Project', '02_Production_OUT', '01_OFX', '01_Comp', '00_Nuke', '040_ALY', '040_ALY_040_HROTERRORBLADE', '040_ALY_040_HROTERRORBLADE_prev_Gamma22_apcs_mov', '040_ALY_040_HROTERRORBLADE_prev_v14_Gamma22_apcs.mov']我尝试过的nk_script_file_path = r"P:/Projects/2019_projects/1910_My_Project/01_Production_IN/01_OFX/01_Comp/00_SO/relink_test_v001.nk".split("/")node_filepath = r"P:/Projects/2019_projects/1910_My_Project/02_Production_OUT/01_OFX/01_Comp/00_S=/040_ALY/040_ALY_040_HROTERRORBLADE/040_ALY_040_HROTERRORBLADE_prev_Gamma22_apcs_mov/040_ALY_040_HROTERRORBLADE_prev_v14_Gamma22_apcs.mov".split("/")# Compare file pathspath_object = 0while nk_script_file_path in node_filepath:    path_object += 1print path_objectprint node_filepath[path_object]我正在寻找的结果:"3"或者"1910_My_Project"
查看完整描述

2 回答

?
互换的青春

TA贡献1797条经验 获得超6个赞

您可以使用zip()withenumerate()来查找第一个索引的差异所在。在此示例中,如果未发现差异,则 的值i等于-1:


lst1 = ['P:', 'Projects', '2019_projects', '1910_My_Project', '01_Production_IN', '01_OFX', '01_Comp', '00_Nuke', 'relink_test_v001.nk']

lst2 = ['P:', 'Projects', '2019_projects', '1910_My_Project', '02_Production_OUT', '01_OFX', '01_Comp', '00_Nuke', '040_ALY', '040_ALY_040_HROTERRORBLADE', '040_ALY_040_HROTERRORBLADE_prev_Gamma22_apcs_mov', '040_ALY_040_HROTERRORBLADE_prev_v14_Gamma22_apcs.mov']



for i, (a, b) in enumerate(zip(lst1, lst2)):

    if a != b:

        break

else:

    i = -1


print('First difference is at index:', i)

印刷:


First difference is at index: 4


查看完整回答
反对 回复 2023-12-26
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

nk_script_file_path= r"P:/Projects/2019_projects/1910_My_Project/01_Production_IN/01_OFX/01_Comp/00_SO/relink_test_v001.nk".split("/")

node_filepath = r"P:/Projects/2019_projects/1910_My_Project/02_Production_OUT/01_OFX/01_Comp/00_S=/040_ALY/040_ALY_040_HROTERRORBLADE/040_ALY_040_HROTERRORBLADE_prev_Gamma22_apcs_mov/040_ALY_040_HROTERRORBLADE_prev_v14_Gamma22_apcs.mov".split("/")

j = 0

for i in nk_script_file_path:

    if i != node_filepath[j] :

        j = j-1

        break

    else:

        j += 1


print(nk_script_file_path[j])

print(j)


查看完整回答
反对 回复 2023-12-26
  • 2 回答
  • 0 关注
  • 51 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信