How to convert 1D list to 2D list based on range (1, 2, 3, 4) of parts in Python

2 Answers

0 votes
def convert_1D_list_to_2D_list(lst, slices): 
    n = 0
    for i in range(1, slices): 
        yield lst[n : n + i] 
        n += i 
      

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

lst = list(convert_1D_list_to_2D_list(lst, 5))

print(lst)
 



'''
run:
 
[[0], [1, 2], [3, 4, 5], [6, 7, 8, 9]]

'''

 



answered Feb 13, 2020 by avibootz
edited Feb 13, 2020 by avibootz
0 votes
from itertools import islice 

def convert_1D_list_to_2D_list(lst, slices): 
    it = iter(lst) 
    return [list(islice(it, i)) for i in range(1, slices)] 
      

lst = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 

lst = list(convert_1D_list_to_2D_list(lst, 5))

print(lst)
 



'''
run:
 
[[0], [1, 2], [3, 4, 5], [6, 7, 8, 9]]

'''

 



answered Feb 13, 2020 by avibootz
...