请问二维列表如何内部相乘?

a=[['G02', 1, 1, 0, 0, 1, 5], ['G05', 0, 1, 1, 0, 1, 2]]
请问怎么样在不使用库的情况下,用每个列表的最后一个数乘以前面的每一个数?、
变成这样: [['G02',5,5,0,0,5,5],['G05',0,2,2,0,2,2]]
格式不变,但是列表的个数和列表里的数字个数不确定,所以不能用索引。

a =[['G02', 1, 5, 0, 0, 1, 5], ['G05', 0, 1, 1, 0, 1, 2]]

res = map(lambda x: [i *x[-1] if isinstance(i, int) else i for j,i in
                     enumerate(x) if j != len(x) - 1] + [x[-1]], a)

print(list(res))