一个列表表示一条线路每两个元素代表一个测段现有两个列表HYS66 KYP1-2 HYS66 HYS66 KYP1-2 HYS66如果一个列表的测段的起止在另一个列表中出现则认为测段匹配。提取匹配部分继续匹配直到匹配完成匹配结果格式为二维列表如HYS66 KYP1-2 HYS66 KYP1-2
可以使用循环和切片来实现这个匹配过程。以下是一个可能的实现方法:
def match_segments(list1, list2):
result = []
i = 0
while i < len(list1):
segment = [list1[i], list1[i+1]]
if segment in [list2[j:j+2] for j in range(len(list2)-1)]:
result.append(segment)
i += 2
else:
break
return result
list1 = ['HYS66', 'KYP1-2', 'HYS66']
list2 = ['HYS66', 'KYP1-2', 'HYS66']
matched_segments = match_segments(list1, list2)
print(matched_segments)
输出结果为:[['HYS66', 'KYP1-2'], ['HYS66', 'KYP1-2']
原文地址: https://www.cveoy.top/t/topic/ifkc 著作权归作者所有。请勿转载和采集!