Shortening words within a string
Some suggestions:


Naming is really important. string, array, i and j are not descriptive. After reading the entire function I think they could be renamed sentence, words, string_index and word_length.
There's no point in adding empty strings to the array - they aren't printed anyway.
What is the significance of 38? If it's not significant it should be removed, if it is it should be named something like max_result_length.
In Python return is a simple statement, which means its argument should not be put in parentheses.