如果一个字符串中的所有字符都在另一个字符串中,则返回 True
问题描述
好吧,所以对于这个问题,我打算编写一个函数,如果给定字符串仅包含来自另一个给定字符串的字符,则该函数返回 True.因此,如果我输入bird"作为第一个字符串,输入irbd"作为第二个字符串,它将返回 True,但如果我使用birds"作为第一个字符串,irdb"作为第二个字符串,它将返回 False.到目前为止,我的代码如下所示:
Alright so for this problem I am meant to be writing a function that returns True if a given string contains only characters from another given string. So if I input "bird" as the first string and "irbd" as the second, it would return True, but if I used "birds" as the first string and "irdb" as the second it would return False. My code so far looks like this:
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).
When I try to run the script it only returns True if the strings are in the exact same order or if I input only one letter ("bird" or "b" and "bird" versus "bird" and "irdb").
解决方案
这是 设置.以下代码将解决您的问题:
This is a perfect use case of sets. The following code will solve your problem:
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)
相关文章