Python 确定字符串是否是另一个的排列

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