 # Python | Matrix of non-standard length

Method # 1: Using ` zip () ` + comprehension list
The zip function, combined with list comprehension, can help accomplish this particular task. The zip function can help compress a list of counters with a list of elements, and a list comprehension does the job of building the matrix.

 ` # Python3 demo code ` ` Custom length matrix ` ` # using zip () + list comprehension `   ` # initializing list ` ` test_list ` ` = ` ` [` ` `a` ` `, ` ` `b` ` `, ` `` c` ` `] `   ` # initializing the counter list ` ` counter_list ` ` = ` ` [` ` 1 ` `, ` ` 4 ` `, ` ` 2 ` `] `   ` # print original list ` ` print ` ` (` ` "The original list is:" ` ` + ` ` str ` ` (test_list)) `   ` # print a list of counters ` ` print ` ` (` ` "The counter list is:" ` ` + ` ` str (counter_list)) ````   # using zip () + mon Name of the list Custom length matrix res = [[i] * j for i, j in zip (test_list, counter_list)]   # print result print ( " The custom length matrix is: " + str (res )) ```

Output:

` The original list is: [`a`,` b`, `c`] The counter list is: [1, 4, 2] The custom length matrix is: [[` a`], [`b`,` b` , `b`,` b`], [`c`,` c`]] `

Method # 2: Using the ` map () + mul operator `
This particular problem can also be solved with the built-in mul operator, which multiplies the index elements you like, and the map function does the job forming a matrix.

 ` # Python3 demo code ` ` Custom length matrix ` ` # using map () + mul operator ` ` from ` ` operator ` ` import ` ` mul `   ` # initializing list ` ` test_list ` ` = ` ` [` ` `a` ` `, ` ` `b` ` `, ` `` c` ` `] `   ` # initializing the list of counters ` ` counter_list ` ` = ` ` [` ` 1 ` `, ` ` 4 ` `, ` ` 2 ` `] `   ` # printing the original list ` ` print ` ` (` ` "The original list is: "` ` + ` ` str ` ` (test_list)) ````   # print counter list ```` print (` ` "The counter list is:" ` ` + ` ` str ` ` (counter_list)) ` ` `  ` # using map () + mul operator ` ` Custom length matrix ` ` res ` ` = ` ` list ` ` (` ` map ` ` (mul, [[` `` a` ` `], [` ` `b` ` `], [` `` c` ` `]], counter_list)) `   ` # print result ` ` print ` ` (` ` "The custom length matrix is: " + str (res)) ```` ```

Output:

` The original list is: [`a`,` b` , `c`] The counter list is: [1, 4, 2] The custom length matrix is: [[` a`], [`b`,` b`, `b`,` b`], [` c`, `c`]] `