Answer : 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]] Try: listone = [1,2,3] listtwo = [4,5,6] merged = map(list, zip(listone, listtwo)) zip(listone, listtwo) will return a list of tuples. Since you want a list of lists you need to convert each tuple to a list. map(list, list_of_tuples) call will do exactly that.