📜  Python程序通过重叠中间元组来合并元组列表

📅  最后修改于: 2022-05-13 01:54:43.289000             🧑  作者: Mango

Python程序通过重叠中间元组来合并元组列表

给定两个包含元组作为元素的列表,任务是在考虑第一个列表的两个连续元组之间存在的范围后,编写一个Python程序,以在第一个列表的连续元组之间容纳第二个列表中的元组。

方法:使用循环

在这里,我们为每个容器保留两个指针,另一个用于列表 1 中的每个元素。 现在,检查列表 2 中的任何元组是否满足要求的条件,如果不满足,则为下一个集合考虑以下连续元素的迭代。



例子:

Python3
# Python3 code to demonstrate working of
# Merge tuple list by overlapping mid tuple
# Using loop
  
  
# initializing lists
test_list1 = [(4, 8), (19, 22), (28, 30), (91, 98)]
test_list2 = [(10, 22), (23, 26), (15, 20), (52, 58)]
  
# printing original lists
print("The original list 1 is : " + str(test_list1))
print("The original list 2 is : " + str(test_list2))
  
idx = 0
j = 0
res = list()
  
# iterating till anyone of list exhausts.
while j < len(test_list2):
  
    # checking for mid tuple and appending
    if test_list2[j][0] > test_list1[idx][0]\
    and test_list2[j][1] < test_list1[idx + 1][1]:
  
        # appending the range element from 2nd list which 
        # fits consecution along with original elements 
        # from 1st list.
        res.append((test_list1[idx], test_list2[j], test_list1[idx + 1]))
        j += 1
        idx = 0
    else:
  
        # if not, the 1st list is iterated and next two
        # ranges are compared for a fit.
        idx += 1
  
    # restart indices once limits are checked.
    if idx == len(test_list1) - 1:
        idx = 0
        j += 1
  
# printing result
print("Merged Tuples : " + str(res))


输出: