lil*_*ili 4 python string boolean
好吧,对于这个问题,我的意思是编写一个函数,如果给定的字符串只包含来自另一个给定字符串的字符,则返回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
Run Code Online (Sandbox Code Playgroud)
当我尝试运行脚本时,如果字符串的顺序完全相同,或者我只输入一个字母("bird"或"b"和"bird"与"bird"和"irdb"),则只返回True.
这是套装的完美用例.以下代码将解决您的问题:
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)
Run Code Online (Sandbox Code Playgroud)
集很好,但不是必需的(并且可能效率较低,具体取决于您的字符串长度)。你也可以简单地做:
s1 = "bird"
s2 = "irbd"
print all(l in s1 for l in s2) # True
Run Code Online (Sandbox Code Playgroud)
请注意,一旦s2在 中 找不到字母s1并返回,此操作将立即停止False。
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |