Question: 
Write a python function to merge the first and last elements separately in a list of lists.


Model's Code:
def merge(lst):
    first_elements = [sub[0] for sub in lst]
    last_elements = [sub[-1] for sub in lst]
    middle_elements = [sub[1:-1] for sub in lst]
    
    merged = []
    for i in range(len(first_elements)):
        merged.append([first_elements[i]] + middle_elements[i] + [last_elements[i]])
        
    return merged



Sample Correct Code:
def merge(lst):  
    return [list(ele) for ele in list(zip(*lst))] 


Asserts:
assert merge([['x', 'y'], ['a', 'b'], ['m', 'n']]) == [['x', 'a', 'm'], ['y', 'b', 'n']]
assert merge([[1, 2], [3, 4], [5, 6], [7, 8]]) == [[1, 3, 5, 7], [2, 4, 6, 8]]
assert merge([['x', 'y','z' ], ['a', 'b','c'], ['m', 'n','o']]) == [['x', 'a', 'm'], ['y', 'b', 'n'],['z', 'c','o']]


Tests:
Test 1 of 3: FAIL: AssertionError()

Test 612 of 974: 455/612 (74.34640522875817%): failed