def get_similar(obj, labels, default=None, min_similarity=<NUM_LIT:0.5>):
raise NotImplementedError(<EOL>"<STR_LIT>")<EOL>labels = listify(labels)<EOL>def not_found(*args, **kwargs):<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>min_score = int(min_similarity * <NUM_LIT:100>)<EOL>for similarity_score in [<NUM_LIT:100>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT>, <NUM_LIT:50>, <NUM_LIT:30>, <NUM_LIT:10>, <NUM_LIT:5>, <NUM_LIT:0>]:<EOL><INDENT>if similarity_score <= min_score:<EOL><INDENT>similarity_score = min_score<EOL><DEDENT>for label in labels:<EOL><INDENT>try:<EOL><INDENT>result = obj.get(label, not_found)<EOL><DEDENT>except AttributeError:<EOL><INDENT>try:<EOL><INDENT>result = obj.__getitem__(label)<EOL><DEDENT>except (IndexError, TypeError):<EOL><INDENT>result = not_found<EOL><DEDENT><DEDENT>if result is not not_found:<EOL><INDENT>return result<EOL><DEDENT><DEDENT>if similarity_score == min_score:<EOL><INDENT>if result is not not_found:<EOL><INDENT>return result<EOL><DEDENT><DEDENT><DEDENT>
Similar to fuzzy_get, but allows non-string keys and a list of possible keys

    Searches attributes in addition to keys and indexes to find the closest match.

    See Also:
        `fuzzy_get`