Python – 不区分大小写的字符串计数器
给定一个字符串列表,找出不区分大小写的字符串的频率。
Input : test_list = [“Gfg”, “Best”, “GFG”, “is”, “IS”, “BEST”]
Output : {‘gfg’: 2, ‘best’: 2, ‘is’: 2}
Explanation : All occur twice.
Input : test_list = [“Gfg”, “gfg”, “GFG”]
Output : {‘gfg’: 3}
Explanation : Only “gfg” 3 occurrences.
方法:使用 defaultdict() + lower()
在此,我们在映射到 defaultdict 之前对所有字符串执行 lower()。这确保了在映射和累积频率时不区分大小写。
Python3
# Python3 code to demonstrate working of
# Strings Frequency (Case Insensitive)
# Using defaultdict() + lower()
from collections import defaultdict
# initializing list
test_list = ["Gfg", "Best", "best", "gfg", "GFG", "is", "IS", "BEST"]
# printing original list
print("The original list is : " + str(test_list))
res = defaultdict(int)
for ele in test_list:
# lowercasing to cater for Case Insensitivity
res[ele.lower()] += 1
# printing result
print("Strings Frequency : " + str(dict(res)))
输出
The original list is : ['Gfg', 'Best', 'best', 'gfg', 'GFG', 'is', 'IS', 'BEST']
Strings Frequency : {'gfg': 3, 'best': 3, 'is': 2}