이 질문에 감사드립니다. 가 STR1에서 발생하는 모든 문자가 적어도 발생하면파이썬 3에서 부분 아나그램을 확인하는 방법
이 True
을 반환하는 함수 부분 철자 바꾸기 (STR1, STR2)을 정의합니다
정말 특정 문제에 끼 었어, 나는 아래의 질문을 게시하여야한다 str2
에 여러 번 입력합니다. 그렇지 않으면 False를 반환합니다.
(참고 :. str1과는 str2
의 일부 철자 바꾸기 이유 인 str1이 발생하지 않는 str2
에 추가 문자가있을 수 있습니다) [4마르크]
힌트 : 당신은에 str2
를 변환하면 목록에서 str1의 문자를 루프하여 각각이 str2
에 있는지 확인할 수 있습니다. 존재하지 않으면 str1은 str2
의 부분 분석표가 될 수 없습니다 (따라서 False
을 반환). 존재하는 경우 목록에서 해당 문자를 제거해야하며 (사용되지 않았기 때문에) 루핑을 계속 수행해야합니다. str1의 모든 문자와 always와 str2
의 일치를 반복하면 True를 반환 할 수 있습니다.
def partial_anagram(str1,str2):
str2_list = list(str2)
for char in str1:
if char in str2_list:
str2_list.remove(char)
return True
else:
return False
왜 for 루프 내에'return str2_list'가 있습니까? 요구 사항에 따르면 '참'또는 '거짓'만 반환해야합니다. – Kevin
이것은 흥미로운 문제인 것처럼 보이지만이 함수의 용도는 무엇입니까? –