Make the 2D list by the sequential integers started by the ```head``` number.

See the example test cases for the expected output.

``` 
Note:

-10**20 < the head number <10**20
1 <=  the number of rows <= 1000
0 <=  the number of columms <= 1000
```

Difficulty: introductory

Starter code:

def make_2d_list(head,row,col):
	

Solutions:
def make_2d_list(head,row,col):
    return [[head + c + r*col for c in range(col)] for r in range(row)]

import numpy as np

def make_2d_list(head,row,col):
    return np.array(list(range(head, head + row*col))).reshape(row, col).tolist()


make_2d_list=lambda Q,R,C:[[Q + C * r + c for c in range(C)] for r in range(R)]

from itertools import count

def make_2d_list(head,row,col):
    c = count(0)
    return [[ head+next(c) for _ in range(col)] for _ in range(row)]

import numpy as np
def make_2d_list(head,row,col):
    x = np.arange(head, head+row*col)
    x = x.reshape(row, col)
    return x.tolist()

import numpy as np
def make_2d_list(head,row,col):
    return np.arange(head, head + row * col).reshape(row, col).tolist()

def make_2d_list(head,row,col):
    return [[]] if col == 0 else [list(x) for x in zip(*[iter(range(head, head + row*col))]*col)]

def make_2d_list(head, row, col):
    return [list(range(i, i + col)) for i in (range(head, head + row * col, col))] if col else [[]]

def make_2d_list(head,row,col):
    count = head
    arr2 = []
    for i in range(row):
        arr = []
        for j in range(col):
            arr.append(count)
            count += 1
        arr2.append(arr)
    return arr2

def make_2d_list(head,row,col):
    r=[]
    x=head
    for _ in range(row):
        r.append(list(range(x,x+col)))
        x+=col
    return r