Python generate custom combinations of sub lists I'm generating a custom combination of sub lists without using itertools.

Here's what I've come up with:

input =  [[1, 2], [2, 3], [4, 3]]
output = [[1, 2, 2, 3], [1, 2, 4, 3], [2, 3, 4, 3]]

def getList():
    a = [[1, 2], [2, 3], [4, 3]]
    return(a)

c=[]                        # output list
l = len(getList())
for i in range(l):
    for j in range(i+1,l):
        a=getList()
        a[i].extend(a[j])
        c.append(a[i])


As the extend() updates the input list, I defined a function to redefine the input. Is it a recommended practice? What could be improved here?
What could be improved here?


@thnx Peilonrayz, a generator expression will work better on large inputs


Use a nested generator expression.
DON'T hardcode variables, this will make your code very static.
Make a function, to accept different variables.




def custom_combo(L):
    return (L[i] + L[j] for i in range(len(L)) for j in range(i+1, len(L)))

if __name__ == '__main__':
    a = [[1, 2], [2, 3], [4, 3]]
    print(list(custom_combo(a)))