1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| def index_partof_list(original, sublist): "" 子列表查找, 也可以用于字符串的查找 :param original: 一个列表 :type original: :param sublist: sublist是original列表中的一部分,即子列表,如果存在sublist,那么就返回起始和结束位置,否 则返回None :type sublist: :return: 返回2个值,bool值和查找到的索引值,如果没查找到返回[] 如果找到一个或找到多个,返回 [(x1,y1),(x2,y2)] :rtype: "" ori_len = len(original) sub_len = len(sublist) find_indexes = [] if ori_len < sub_len: return find_indexes for index in range(ori_len-sub_len+1): if original[index:index + sub_len] == sublist: find_indexes.append((index, index+ sub_len)) return find_indexes
ori = ['《', '邪', '少', '兵', '王', '》', '是', '冰', '火', '未', '央', '写', '的', '网', '络', '小', '说', '连', '载', '于', '旗', '峰', '天', '下'] sub = ['网', '络', '小', '说'] res = index_partof_list(ori,sub) print(res) ------> [(13, 17)]
|