猿问

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

只要列表中的项目相等,就按现有顺序将列表中的每个元素与第二个列表中按现有顺序的元素进行比较。如果它们不相等,则停止并给我结果最后一场比赛的索引和名称。


我认为使用 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 paths

path_object = 0

while nk_script_file_path in node_filepath:

    path_object += 1

print path_object

print node_filepath[path_object]

我正在寻找的结果:


"3"

或者


"1910_My_Project"


江户川乱折腾
浏览 111回答 2
2回答

互换的青春

您可以使用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:        breakelse:    i = -1print('First difference is at index:', i)印刷:First difference is at index: 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 = 0for i in nk_script_file_path:    if i != node_filepath[j] :        j = j-1        break    else:        j += 1print(nk_script_file_path[j])print(j)
随时随地看视频慕课网APP

相关分类

Python
我要回答