Python如何统计列表中包含指定字符的元素个数?
解决方法
list.count() 方法的作用是统计列表中完全等于目标值的元素数量,所以它没法直接实现你要的「统计包含字母'a'的元素个数」的需求,你可以用以下两种常见方法解决:
方法一:生成器表达式 + sum
利用Python中布尔值可转换为整数(True=1,False=0)的特性,遍历列表并判断每个元素是否包含'a',最后求和得到总数:
names = ["Alice", "Bob", "Charlie", "Darren"] # 区分大小写的统计(仅匹配小写a) count = sum('a' in name for name in names) print(count) # 输出:2 # 如果需要忽略大小写(同时匹配大写A和小写a) count_case_insensitive = sum('a' in name.lower() for name in names) print(count_case_insensitive) # 输出:3
方法二:filter函数 + len
用filter筛选出包含'a'的元素,再通过len获取筛选后列表的长度:
names = ["Alice", "Bob", "Charlie", "Darren"] # 区分大小写 count = len(list(filter(lambda x: 'a' in x, names))) # 忽略大小写 count_case_insensitive = len(list(filter(lambda x: 'a' in x.lower(), names)))
内容的提问来源于stack exchange,提问作者Tara Barnes McGinty
相关产品推荐
相关产品推荐

