python关于列表的一个问题

求指点一下,假如有y类:y=[1,2,3,4,5,6], z类:z=[2,4,5,6,8,9]两个列表,将这两个列表合成一个列表后对里边的值进行排序,然后取前5个数据。要怎么做才能得到这五个数据的原类别?
或者是有什么其他的办法可以实现这一功能的?

如下这种方法,不知能否满足要求?

>>> y=[1,2,3,4,5,6]
>>> z=[2,4,5,6,8,9]
>>> sorted(y+z)[:5] #直接排序,分不清两个2是从哪里来的
[1, 2, 2, 3, 4]
>>> Y = [(i,'y') for i in y]
>>> Z = [(i,'z') for i in z]
>>> sorted(Y+Z)[:5]
[(1, 'y'), (2, 'y'), (2, 'z'), (3, 'y'), (4, 'y')]

y=[1,2,3,4,5,6]
z=[2,4,5,6,8,9]
print(sorted(y+z)[0:5])