Created
June 2, 2022 15:51
-
-
Save wiseaidev/1c61d9d698d315e45b422d33884cf11d to your computer and use it in GitHub Desktop.
Different methods to merge two lists.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
list1_list2 has the following schema: