nested list to single list python code example

Example 1: python convert nested list to list of strings

# Basix syntax:
['delim'.join([str(elem) for elem in sublist]) for sublist in my_list]
# Where delim is the delimiter that will separate the elements of the
#	nested lists when they are flattened to a list of strings

# Note, this uses two "levels" of list comprehension

# Example usage 1:
my_list = [[1, '1', 1], [2,'2',2], [3,'3',3]]
[' '.join([str(elem) for elem in sublist]) for sublist in my_list]
--> ['1 1 1', '2 2 2', '3 3 3'] # List of space-delimited strings

# Example usage 2:
my_list = [[1, '1', 1], [2,'2',2], [3,'3',3]]
['_'.join([str(elem) for elem in sublist]) for sublist in my_list]
--> ['1_1_1', '2_2_2', '3_3_3'] # List of underscore-delimited strings

Example 2: how to make one list from nested list

>>> from collections import Iterable
def flatten(lis):
     for item in lis:
         if isinstance(item, Iterable) and not isinstance(item, str):
             for x in flatten(item):
                 yield x
         else:        
             yield item

>>> lis = [1,[2,2,2],4]
>>> list(flatten(lis))
[1, 2, 2, 2, 4]
>>> list(flatten([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))
[1, 2, 3, 4, 5, 6, 7, 8, 9]