Skip to content

Instantly share code, notes, and snippets.

@wiseaidev
Created June 2, 2022 15:51
Show Gist options
  • Save wiseaidev/1c61d9d698d315e45b422d33884cf11d to your computer and use it in GitHub Desktop.
Save wiseaidev/1c61d9d698d315e45b422d33884cf11d to your computer and use it in GitHub Desktop.
Different methods to merge two lists.
import random
import itertools
import operator
import functools
import collections
def extend(list1_list2):
list1, list2 = list1_list2
merged_list = []
merged_list.extend(list1)
merged_list.extend(list2)
return merged_list
def unpacking(list1_list2):
list1, list2 = list1_list2
merged_list = [*list1, *list2]
return merged_list
def chaining(list1_list2):
list1, list2 = list1_list2
return list(itertools.chain(list1, list2))
def plus_operator(list1_list2):
list1, list2 = list1_list2
return list1 + list2
def iadd(list1_list2):
list1, list2 = list1_list2
list1 = list1.copy()
list1 += list2
return list1
def dict_fromkeys(list1_list2):
# remove duplicates
# order not preserved
list1, list2 = list1_list2
return list(dict.fromkeys(list1 + list2))
def reduce_add_operator(list1_list2):
list1, list2 = list1_list2
return functools.reduce(operator.add, [list1, list2])
def sum_method(list1_list2):
list1, list2 = list1_list2
return sum([list1, list2], [])
def ordered_dict_fromkeys(list1_list2):
# remove duplicates
# preserve order
list1, list2 = list1_list2
return list(collections.OrderedDict.fromkeys(list1 + list2))
def chaining_from_iterable(list1_list2):
list1, list2 = list1_list2
return list(itertools.chain.from_iterable([list1 + list2]))
def generators(list1_list2):
list1, list2 = list1_list2
def inner(list1, list2):
yield from list1
yield from list2
return list(inner(list1, list2))
def list_comprehension(list1_list2):
list1, list2 = list1_list2
return [item for list_ in [list1, list2] for item in list_]
def two_for_loops(list1_list2):
list1, list2 = list1_list2
merged_list = []
for element in list1:
merged_list.append(element)
for element in list2:
merged_list.append(element)
return merged_list
@wiseaidev
Copy link
Author

list1_list2 has the following schema:

list1_list2 = [list1, list2]
# example
list1_list2 = [[1, 3, 4], [5, 2]]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment