如何不区分大小写统计Python列表中目标关键词的出现次数?
统计列表中指定子串的出现次数(不区分大小写)
需求说明
给定列表stuff,统计每个元素中“Elon Musk”的出现次数,匹配时不区分大小写,最终预期结果为5次。
解决方案
核心思路是统一字符串的大小写(全部转为小写或大写),再统计目标子串的出现次数,最后累加所有元素的统计结果。
实现代码
import pandas as pd import numpy as np stuff = ['Elon Musk', 'elon musk', 'elon Musk', 'Elon Musk is awesome', "Who doesn't love Elon Musk"] # 将目标字符串转为小写,统一匹配规则 target = "Elon Musk".lower() # 初始化总次数 total_count = 0 # 遍历列表,逐个统计并累加 for item in stuff: total_count += item.lower().count(target) print(total_count) # 输出:5
简化写法(列表推导式)
也可以用更简洁的方式实现:
target = "Elon Musk".lower() total_count = sum(item.lower().count(target) for item in stuff) print(total_count) # 输出:5
说明
- 通过
lower()方法将所有字符串转为小写,消除大小写差异,确保“Elon Musk”、“elon musk”等变体都能被匹配到。 count()方法用于统计单个字符串中目标子串的出现次数,最后用sum()累加所有元素的统计结果。
内容的提问来源于stack exchange,提问作者HelpMeCode
相关产品推荐
相关产品推荐

