Python 子字符串布尔值不返回预期值
为什么此代码返回False而不是True?如果要检查str2中的所有符号,可以使用以下方法:Python 子字符串布尔值不返回预期值,python,python-3.x,Python,Python 3.x,为什么此代码返回False而不是True?如果要检查str2中的所有符号,可以使用以下方法: str1 = "abc" str2 = "axbg1c" print(str1 in str2) 字符串“abc”不是“axbg1c”的子字符串。所有字符“a”,“b”,“c”都在“axbg1c”中,顺序正确,但字符串“abc”在其中找不到。这就是str2中的str1要检查的内容。:整个str1在str2中的某个地方“xyzabc789”中的“abc”是Tru
str1 = "abc"
str2 = "axbg1c"
print(str1 in str2)
字符串“abc”
不是“axbg1c”
的子字符串。所有字符“a”
,“b”
,“c”
都在“axbg1c”
中,顺序正确,但字符串“abc”
在其中找不到。这就是str2中的str1要检查的内容。:整个str1
在str2
中的某个地方<例如,代码>“xyzabc789”中的“abc”是True
如果您想知道str1
中的每个字符是否也在str2
中,请执行以下操作:
all(str2中的c表示str1中的c)
在您的示例中,结果将是True
,因为它自己检查str1
中的每个字符,并且每个字符都在str2
中
如果您特别想知道它们是否像您的示例中那样按正确的顺序排列,那就更难了。因为a
、b
和c
分别位于str2
中,而abc
作为子字符串则不是。您需要检查str1
中的每个字符是否在str2
中。提示:查看set
操作。对于“xcxbxax”
中的“abc”,您希望得到什么结果?“aabbcc”中的“abc”的结果是什么?
print(all((i for i in str2 if i in str1)))