我正在尝试检查var1
中是否包含至少五个字符
。我使用了count
函数,但它的实际效果与我的期望不符。与此同时,var2
中包含了var1
中五个以上的字符
。
var1 = "today news report"
var2 = "news report"
if var2.count(var1) >= 5:
print("yes")
else:
print("nooooooo")
欢迎您提出建议,以实现此目标。
我正在尝试检查var1
中是否包含至少五个字符
。我使用了count
函数,但它的实际效果与我的期望不符。与此同时,var2
中包含了var1
中五个以上的字符
。
var1 = "today news report"
var2 = "news report"
if var2.count(var1) >= 5:
print("yes")
else:
print("nooooooo")
欢迎您提出建议,以实现此目标。
len((set(var1) & set(var2)) - {' '})
。从问题中确实很难判断。 - yatuset()
也只是猜测。原帖并未指定是否计算重复。 - Tomalakvar2
是否包含var1
中5个或更多个相同字符,你可以使用Python的set
结构,它具有set.intersection()
方法。 intersection()
方法将传递的内容转换为另一个集合,并返回两者之间相同的元素。"Original Answer"的意思是"最初的回答"。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)
。
set(var1) & set(var2)
是 set(var1).intersection(var2)
的语法糖,在底层它们是完全相同的东西。 - Tomalakset(var1) | set(var2)
可以给你并集! - Cohan如果你想使用count:
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
var2.count(var1)
是做什么的?它返回什么值?这能帮助你理解正在发生的事情吗? - Chrisvar2 = 'nnnnn'
时,预期的输出是什么?虽然var2
中只有一个唯一字符,但它出现了5次...这算是是/否的情况吗? - Jon Clements