>>> x = [['a', '3', 'd', '7'], ['b', '1', 'c', '3']]
>>> def str_or_int(i):
return int(i) if i.isdigit() else i
>>> x_update = [list(map(str_or_int, i)) for i in x]
>>> x_update
[['a', 3, 'd', 7], ['b', 1, 'c', 3]]
4 строка. Не понял что делает просто symbols_heap_sort