Sorting a long string with a composite of strings and integers + symbols
listify function

Since, as you mentioned in the comments, the function is meant to read a single first line from a file only - you can use the next() built-in function:

def listify(filename):
    """Reads the first line from a file and splits it into words."""
    with open(filename) as input_file:
        return next(input_file).strip().split()


remove_any_symbols function

You can actually pre-define the allowed characters as a constant - no need to re-define them for every function call. You can also make it a set for faster lookups:

ACCEPTABLE_CHARACTERS = set(string.ascii_letters + string.digits)

def remove_any_symbols(input_string):
    """Removes any symbols from a string leaving the leading dashes."""
    filtered_characters = [c for c in input_string if c in ACCEPTABLE_CHARACTERS]
    prefix = "-" if input_string.startswith("-") else ""
    return prefix + ''.join(filtered_characters)


Or, a regex-based version (less understandable overall, but see if it is going to be faster):

PATTERN = re.compile(r"""
    (
        (?&lt;!^)-  # dash not at the beginning of a string
        |  # or
        [^A-Za-z0-9\-]  # not letters, digits and dashes
    )+
""", flags=re.VERBOSE)
def remove_any_symbols(input_string):
    """Removes any symbols from a string leaving the leading dashes."""
    return PATTERN.sub("", input_string)


Pre-process the complete string

With regexes, it would also be possible to pre-process the input string as a whole, checking for the dashes at the beginning of words. This may lead to applying remove_any_symbols() on the complete input string read from a file:

PATTERN = re.compile(r"""
    (
        (?&lt;!(?:^| ))-  # dash not at the beginning of a word
        |  # or
        [^A-Za-z0-9\- ]  # not letters, digits, dashes and spaces
    )+
""", flags=re.VERBOSE)
def remove_any_symbols(input_string):
    """Removes any symbols from a string leaving the leading dashes for each word."""
    return PATTERN.sub("", input_string)


if __name__=="__main__":
    input_file = sys.argv[1]

    with open(input_file) as f:
        data = next(f).strip()

    list_of_words = remove_any_symbols(data).split()

    print(sort_em_up(typed_list(list_of_words)))