可以使用循环和切片来实现这个匹配过程。以下是一个可能的实现方法:

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']

一个列表表示一条线路每两个元素代表一个测段现有两个列表HYS66 KYP1-2 HYS66 HYS66 KYP1-2 HYS66如果一个列表的测段的起止在另一个列表中出现则认为测段匹配。提取匹配部分继续匹配直到匹配完成匹配结果格式为二维列表如HYS66 KYP1-2 HYS66 KYP1-2

原文地址: https://www.cveoy.top/t/topic/ifkc 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录