Creating multiple lists of named tuples based on condition
You can make a separate method that decided which type the instruction is:

def get_parser(instruction):
    if len(instruction) &lt; 2:
        return Timing
    if instruction[2] == 'MATCH':
        return Cars
    return Items


and then just use that:

def assign_tuple_lists2(instructions):
    """Creates named tuple lists from instructions"""
    result  = defaultdict(list)
    for instruction in instructions:
        parser = get_parser(instruction)
        result[parser.__name__].append(parser(*instruction))

    return result


this uses a collections.defaultdict instead of separate lists per type


defaultdict(list,
            {'Timing': [Timing(timestamp='1')],
             'Cars': [Cars(timestamp='2', user='bob', reserve='MATCH')],
             'Items': [Items(timestamp='3', user='alice', action='55')]})