Since question not tagged with regex or similar here a for loop approach
s = 'ff19shh24c'
out = []
tmp = ''
was_a_digit = False # keep track if the previous character was a digit
for char in s:
if char.isdigit():
was_a_digit = True
tmp += char
else:
if was_a_digit:
tmp += char
out.append(tmp)
tmp = ''
was_a_digit = False
else:
out.append(char)
print(out)
#['f', 'f', '19s', 'h', 'h', '24c']
In case of strings which end with digits the above code will loose these characters but with a slight edit one can still retrieve them.
Here the approach with conservation of characters:
s = 'ff19shh24cX29ZZ88'
... same as above
# directly after the end of the for loop
out.append(tmp)
print(out)
['f', 'f', '19s', 'h', 'h', '24c', 'X', '29Z', 'Z', '88']