python – 如果字符串中的所有字符都在另一个字符串中,则返回True

好吧,对于这个问题,我的意思是编写一个函数,如果给定的字符串只包含来自另一个给定字符串的字符,则返回True.因此,如果我输入“bird”作为第一个字符串并输入“irbd”作为第二个字符串,它将返回True,但如果我使用“birds”作为第一个字符串而“irdb”作为第二个字符串则返回False.到目前为止,我的代码如下所示:

def only_uses_letters_from(string1,string2):
"""Takes two strings and returns true if the first string only contains characters also in the second string.

string,string -> string"""
if string1 in string2:
    return True
else:
    return False

当我尝试运行脚本时,如果字符串的顺序完全相同,或者我只输入一个字母(“bird”或“b”和“bird”与“bird”和“irdb”),则只返回True.

最佳答案
这是sets的完美用例.以下代码将解决您的问题:

def only_uses_letters_from(string1, string2):
   """Check if the first string only contains characters also in the second string."""
   return set(string1) <= set(string2)

转载注明原文:python – 如果字符串中的所有字符都在另一个字符串中,则返回True - 代码日志