647
A
回答
920
str.count(sub[, start[, end]])
返回非重叠出现串
sub
的范围[start, end]
数。可选参数start
和end
被解释为切片符号。
>>> sentence = 'Mary had a little lamb'
>>> sentence.count('a')
4
43
正则表达式可能吗?
import re
my_string = "Mary had a little lamb"
len(re.findall("a", my_string))
109
您可以使用count():
>>> 'Mary had a little lamb'.count('a')
4
23
myString.count('a');
更多信息here
14
"aabc".count("a")
77
至于其他的答案说,使用字符串方法数()可能是最简单,但如果你经常这样做,看看collections.Counter:如果你想不区分大小写(当然,所有的正则表达式的功率)
from collections import Counter
str = "Mary had a little lamb"
counter = Counter(str)
print counter['a']
8
正则表达式是非常有用的。
my_string = "Mary had a little lamb"
# simplest solution, using count, is case-sensitive
my_string.count("m") # yields 1
import re
# case-sensitive with regex
len(re.findall("m", my_string))
# three ways to get case insensitivity - all yield 2
len(re.findall("(?i)m", my_string))
len(re.findall("m|M", my_string))
len(re.findall(re.compile("m",re.IGNORECASE), my_string))
注意,正则表达式版本的需要,只要跑十次,这将可能是一个问题,只有当my_string是极其漫长,或代码是深循环内的顺序。
2
“不使用计数找到你想要的字符串”方法。
import re
def count(s, ch):
pass
def main():
s = raw_input ("Enter strings what you like, for example, 'welcome': ")
ch = raw_input ("Enter you want count characters, but best result to find one character: ")
print (len (re.findall (ch, s)))
main()
3
a = 'have a nice day'
symbol = 'abcdefghijklmnopqrstuvwxyz'
for key in symbol:
print key, a.count(key)
0
spam = 'have a nice day'
var = 'd'
def count(spam, var):
found = 0
for key in spam:
if key == var:
found += 1
return found
count(spam, var)
print 'count %s is: %s ' %(var, count(spam, var))
0
没有比这恕我直言更多 - 你可以添加的上限或下限的方法
def count_letter_in_str(string,letter):
return string.count(letter)
2
str = "count a character occurance"
List = list(str)
print (List)
Uniq = set(List)
print (Uniq)
for key in Uniq:
print (key, str.count(key))
3
str.count(a)
是一个字符串来计算单个字符的最佳解决方案。但是如果你需要计算比一个更多的字符,那么你必须多次读取字符串作为你想要计数的字符。
这份工作更好的方法是:
from collections import defaultdict
string = 'Mary had a little lamb'
chars = defaultdict(int)
for char in string:
chars[char] += 1
所以你必须返回字符串中的每一个字母的ocurrences的0
的数目,如果它不存在的字典。
>>>chars['a']
4
>>>chars['x']
0
-1
这会给你一个字符串中每个字符的出现。O/P也是字符串格式:
def count_char(string1):
string2=""
lst=[]
lst1=[]
for i in string1:
count=0
if i not in lst:
for j in string1:
if i==j:
count+=1
lst1.append(i)
lst1.append(count)
lst.append(i)
string2=''.join(str(x) for x in lst1)
return string2
print count_char("aabbacddaabbdsrchhdsdg")
1
count
绝对是一个字符串计数性格发生的最简洁和最有效的方式,但我试图想出了利用溶液lambda
,这样的事情:
sentence = 'Mary had a little lamb'
sum(map(lambda x : 1 if 'a' in x else 0, sentence))
这将导致:
4
此外,还有一个优点是,如果句子是包含上述相同字符的子字符串列表,那么由于使用了in
,这也给出了正确的结果。看一看:
sentence = ['M', 'ar', 'y', 'had', 'a', 'little', 'l', 'am', 'b']
sum(map(lambda x : 1 if 'a' in x else 0, sentence))
这也导致:
4
但是,当然,这将检查单个字符的出现,如在这种特殊情况下'a'
才能运作。
相关问题
- 1. 计算字符串中数组中字符出现的次数?
- 2. 计算字符串向量中字符串出现次数
- 3. 计算字符串中字符的出现次数
- 4. 计算字符串中每个字符的出现次数
- 5. 计算字符串中字符的出现次数
- 6. 计算字符串中字符出现次数的Java异常
- 7. Python:计算字符串中给定字符的出现次数
- 8. 计算字符串中特定字符的出现次数
- 9. 在JavaScript中计算字符串中数字的出现次数
- 10. 计算字符串中数字的出现次数
- 11. 如何计算Dataframe字段中字符串的出现次数?
- 12. 计算字符串中所有字母的出现次数PHP
- 13. 计算字符串中字母的出现次数
- 14. 计算字符串中某个字母的出现次数
- 15. Java:计算字符串中字母的出现次数
- 16. 计算字符串中字母的出现次数
- 17. 计算字符串中字母出现的次数
- 18. 计算字符串中每个字母的出现次数
- 19. 如何计算字母出现在字符串中的次数?
- 20. 计算PostgreSQL中字符串中子字符串的出现次数
- 21. 计数字符串的出现次数
- 22. 如何计算字符串中子字符串的出现次数?
- 23. 如何计算列表中的字符串出现次数(字符串)
- 24. 计算每行字符出现次数
- 25. 在响应数据中计算字符串的出现次数
- 26. 编写函数来计算字符串中字符的出现次数。 [JavaScript]
- 27. 计算字符串模式的出现次数,使用Linq的字符串
- 28. 将字符串作为输入并计算字符串出现在字符串中的次数的函数
- 29. 计算模式出现在字符串中的次数
- 30. 如何计算字符串出现在列中的次数?
一个好主意,但在这种情况下矫枉过正。字符串方法'count'具有相同的功能,并且可以立即明确地表明它正在做什么。 – nilamo 2009-07-20 20:18:02
为什么为负值,也许有人需要这种类似的代码。我的投票 – kiltek 2012-03-31 10:18:17
同意kiltek - 这只是更一般的情况... – 2012-04-01 14:28:00