检查字符串在python中是否至少包含五个字符

时间:2019-04-23 15:48:54

标签: python python-3.x string

正在尝试检查string中的characters包含至少五个var1。我正在使用count,但无法正常使用。与此同时,var2包含的five characters中的var1个以上。

var1 = "today news report"
var2 = "news report"


if var2.count(var1)  >=  5:
    print("yes")
else:
    print("nooooooo")

我们欢迎您提出建议。

3 个答案:

答案 0 :(得分:3)

str.countvar1中搜索var2 a的精确匹配。相反,您可以使用sets,然后查看交叉点的长度是否大于阈值:

var1 = "today news report"
var2 = "news report"

if len(set(var1) & set(var2)) >=  5:
    print("yes")
else:
    print("nooooooo")
# yes

答案 1 :(得分:2)

如果要查看var2是否包含在var1中找到的5个或更多相同字符,可以使用Python的set结构,该结构具有set.intersection()方法。 intersection()方法会将传递的内容转换为注释集,并返回两者之间相同的元素。

var1 = "today news report"
var2 = "news report"

if len(set(var1).intersection(var2)) >= 5:
    print("Yes")
else:
    print("No")
# Yes

您会看到set为您提供了var1中的所有唯一字符,而intersection仅为您提供了共享的字符。

print(set(var1))
# {'d', ' ', 'w', 'n', 't', 's', 'r', 'y', 'o', 'a', 'e', 'p'}
print(set(var1).intersection(var2))
# {'r', 'n', 'p', 's', 'e', 'o', 'w', ' ', 't'}

&运算符也可用于获取交点,因此set(var1).intersection(var2)等效于set(var1) & set(var2)

答案 2 :(得分:0)

如果您要使用计数

var1 = "today news report"
var2 = "news report"


count = 0
for letter in set(var1):
    if letter != ' ': # Check if space
        count += (list(set(var2))).count(letter)

print("yes") if count >= 5 else print ("nooo")

#if count >= 5:
#    print ("yes")
#else:
#    print ("nooo")


#count = 8