在Python中合并间隔

发布于 2021-01-29 17:08:18

我是Python编程的新手,遇到了一个问题说明,我不知道如何解决。我有四行输入:

0 1
2 4
6 7
3 5

为了接受这4行输入,我可以执行以下操作:

for i in range(4):
    a,b = list(map(int,input().split(' ')))

我应该将间隔合并到(输出)中:

0 1
2 5
6 7

间隔(2,4)和(3,5)应该合并为一个(2,5)。

我不确定该如何处理?

有人可以帮助我指引方向吗?

提前致谢。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    尝试这个

    from functools import reduce
    # inp = [(0,1),(2,9),(6,7),(3,5)]
    inp = [(0,1),(2,4),(6,7),(3,5)]
    print(inp)
    def merge(li,item):
        if li:
            if li[-1][1] >= item[0]:
                li[-1] = li[-1][0], max(li[-1][1],item[1])
                return li
        li.append(item)
        return li
    print(reduce(merge, sorted(inp), []))
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看