可以使用Python的内置函数`enumerate`和`max`来实现这个功能。以下是示例代码:
```python
num_list = [[1, 2, 3], [4, 5, 6, 6], [7, 8, 9, 9, 10]]
max_positions = []
for sublist in num_list:
max_value = max(sublist)
max_index = len(sublist) - sublist[::-1].index(max_value) - 1
max_positions.append((max_index, max_value))
print(max_positions)
```
输出为:
```
[(2, 3), (3, 6), (4, 10)]
```
该代码首先遍历了每一个子列表,在每个子列表中找到最大值和它最后一次出现的位置,并将它们作为一个元组存储在`max_positions`列表中。要获得最后一次出现的位置,我们需要对子列表进行反向遍历,并使用`index`函数来查找最大值最后一次出现的索引。注意,在加上子列表的长度和减去1后,我们使用了整体取反操作符来计算最终的索引值。