'How to sort a 2d Array by the first element, when a value for the index is 0

So I'm doing a practice problem where I'm trying to merge elements from a 2d array and return non-overlapping intervals.

I came up with the solution:

def merge(self, intervals: List[List[int]]) -> List[List[int]]:
    sorted(intervals, key=lambda x: x[0])
    merged_intervals = []
    print(intervals)
    for interval in intervals:
        if not merged_intervals:
            merged_intervals.append(interval)
        else:
            if merged_intervals[-1][1] >= interval[0]:
                merged_intervals[-1][1] = interval[1]
            else:
                merged_intervals.append(interval)
    return merged_intervals

But I'm having an issue where if the test case is [[1,4],[0,4]] sorted() is returning the list in the same order. Am I misunderstanding how the lambda is used in the sorting algorithm here?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source