如果我有一个这样的字符串列表:
names = ["Alice", "Bob", "Charlie", "Darren"]
我如何找到这些字符串中有多少个包含字母'a'?
我尝试使用计数函数
names.count("a")
但是这只输出是的元素的数量'a'而不是包含a .
可以使用列表推导式来确定no。包含字母'a'
的元素
print(len([x for x in names if 'a' in x]))
O/p:2
我们可以使用loop
:
names = ["Alice", "Bob", "Charlie", "Darren"]
count=0
for i in range(len(names)):
if 'a' in list(names[i]):
count+=1
print(count)
输出:
>>> 2
一般来说,如果要计算列表中满足条件的元素数量,必须遍历列表,即检查每个元素的条件并计算成功尝试的次数:
names = ["Alice", "Bob", "Charlie", "Darren"]
count = 0
for name in names:
if 'a' in name:
count += 1
print(count)
在更高级的注释中,回想一下布尔值(如a in b
)在Python中实际上是整数,并且有一个内置的sum
函数,您可以向其传递生成器表达式。结合这些想法,解决方案非常简单:
print(sum('a' in name for name in names))