需要计算给定字符串在if语句中的出现次数

2024-04-23 07:03:33 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,在我的函数中,if语句之一是字符串在列表中的出现次数不超过1次。在

例如:

list = ['a','b']

我需要检查一个字符串中是否有两个以上的字符,否则它将转到下一个if语句。在

^{pr2}$

s将传递if语句,因为b不在s中

s = 'abcd'

s应该使if语句失败,因为a和b都在s中

如果不够清楚的话,还有更多的例子。在

s = 'aaab'

这将使if语句失败并继续。在

s = 'aaloh'

这也会失败

我的if声明是:

if s.count('a') == 1 or s.count('b') == 1:

这个if语句不起作用

我的问题是,有没有一种方法可以在不进行for循环的情况下进行检查?在


Tags: 函数字符串声明列表ifcount语句字符
1条回答
网友
1楼 · 发布于 2024-04-23 07:03:33

你将需要一个for循环,但你仍然可以做一行。在

if sum(char in s for char in list) > 1:

如果您想查找给定字符的特定数字,请将字符列表放入dict中,如d = {'a': 1, 'b': 4}。在

^{pr2}$

更新

医生说他想要一个

a function that does something with the string if and only if that string doesn't have both 'a' and 'b' in the string. It can only have one of the two and not both and also only one occurrence of it.

因为OP的原始帖子想将“a”和“b”概括为一系列字符list,所以我把他的意思解释为他想要一个表达式,该表达式返回字符串ss当且仅当s恰好有一个字符列表中的一个元素出现{}。在

sum(s.count(char) for char in list) <= 1

在OP的简单示例中,list = ['a', 'b']。在

相关问题 更多 >