Поскольку вы говорите, что списки параллельны, давайте сгруппируем их в кортежи, а затем отсортируем список кортежей.
num1 = ['a','b','c']
num2 = ['apple','pear','grapes']
num3 = [2.5,4.0,.68]
lst = zip(num1, num2, num3)
lst.sort()
for x1, x2, x3 in lst:
print x1, x2, x3,
print
Результат:
яблоко 2,5 г, груша 4,0 с, виноград 0,68