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

2022-01-19 00:00:00 python string boolean

问题描述

好吧,所以对于这个问题,我打算编写一个函数,如果给定字符串仅包含来自另一个给定字符串的字符,则该函数返回 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)

相关文章