Python 确定字符串是否是另一个的排列(sorted用法)

题目

确定字符串是否是另一个的排列。
实现一个算法来识别一个字符串 str2 是否是另一个字符串 str1 的排列。排列的解释如下:
如果将 str1 的字符拆分开,重新排列后再拼接起来,能够得到 str2 ,那么就说字符串 str2 是字符串 str1 的排列。

笨蛋方法

就是我了

def is_permutation( str1, str2):
    if len(str1) == len(str2) and str1 is not None and str2 is not None:
        for i in str1:
            if i not in str2:
                return 1
        return 2
    else:
        return 1

a=input()
b=input()
s=is_permutation(a,b)
print(s)

傻傻得遍历循环

高级做法

    def permutation(str1, str2):
        if str1 is None or str2 is None:
            return False
        return sorted(str1) == sorted(str2)

使用排序,能够“排列”的排序之后必定是一样的。

def sorted(*args, **kwargs): # real signature unknown
    """
    Return a new list containing all items from the iterable in ascending order.
    返回一个新的列表,从小到大有序排列
    A custom key function can be supplied to customize the sort order, and the
    reverse flag can be set to request the result in descending order.
    也可以自己设置reverse的值让它从大到小排列
    """
    pass

posted @ 2021-04-07 10:02  Zeker62  阅读(186)  评论(0编辑  收藏  举报