繁体   English   中英

计算Python中字符串字母的出现

[英]count the occurrences of alphabet of string in python

包含大小写字母的字符串。

我们需要计算每个字母的出现次数(不区分大小写)并显示相同的字母。

下面是程序,但没有导致期望的输出

输出应为-2A 3B 2C 1G

我的输出是-A 2 B 3 A 2 B 3 C 2 B 3 G 1 C 2

String="ABaBCbGc"
String1=String.upper()
for i in String1:
    print(i,String1.count(i))

使用柜台

from collections import Counter

String = "ABaBCbGc"

counts = Counter(String.lower())

print(counts)

输出量

Counter({'b': 3, 'c': 2, 'a': 2, 'g': 1})

如果您希望使用大写字母,只需将str.lower更改为str.upper 或使用字典来跟踪计数:

string = "ABaBCbGc"
counts = {}
for c in string.upper():
    counts[c] = counts.get(c, 0) + 1

print(counts)

输出量

{'C': 2, 'B': 3, 'A': 2, 'G': 1}

打印将用空格分隔参数。 +连接它们。 count()是一个int,因此需要将其转换为字符串。

String="ABaBCbGc"
counts = {}
String1=String.upper()
for i in String1:
    counts[i] = String1.count(i)

for k in counts.keys():
    print(str(counts[k]) + k)

2A
3B
2C
1G

创建排序的输入字符串作为值,并创建此字符串的排序键作为键。 迭代键并在值中计数它们的出现。

data = "ABaBCbGc".upper()
values = ''.join(sorted(data))
keys = sorted(''.join(set(data)))
for key in keys:
    print(str(values.count(key))+key)

输出:

2A
3B
2C
1G

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM