Search code examples
pythonpython-2.7listnested-lists

Create (nested) List from two Lists in Python


I would like to create an Array from two Arrays but I do not want to create this new Array, with append() or extend().

Input arrays have the same number of rows and columns:

listone = [1,2,3]
listtwo = [4,5,6]

Outcome we expect:

mergedlist = [[1,4],[2,5],[3,6]]

It can't be done via

mergedlist = listone.append(listtwo) or mergedlist = listone.extend(listtwo)

I would like to get

mergedlist = [[1,4],[2,5],[3,6]]

How can I get the desired output?


Solution

  • Use the builtin zip function. It's exactly what you want. From the python manuals:

    >>> x = [1, 2, 3]
    >>> y = [4, 5, 6]
    >>> zipped = zip(x, y)
    >>> zipped
    [(1, 4), (2, 5), (3, 6)]
    

    Or if you want a list of lists, instead of a list of tuples, you use zip with a list comprehension:

    >>> zipped = [list(t) for t in zip(x, y)]
    >>> zipped
    [[1, 4], [2, 5], [3, 6]]