l = "Hello world is me"
words_ = l.split()
print(l.split())
for item in words_ :
if len(item) < 5 :
print('Words with length less than 6:', item )
elif len(item) == 5 :
print('Words with length 5:', item )
这是我的代码,但是我希望它以指定的长度打印单词的数量,但是它会打印单词本身。有什么建议吗?你知道吗
Tags:
可以使用以下公式计算满足条件的元素数:
请注意,这里的
condition
必须是布尔值(因为True
是1
,而False
是0
,所以它将True
相加,从而计算满足条件的次数)。你知道吗因此,如果要计算长度小于5的元素数,可以编写:
或长度为5的字数:
等等
您可以计算循环中的单词数,但使用根据单词大小过滤的生成器理解来输入
sum
更具python风格:另一个变体是将测试结果转换为布尔值(这里测试的结果已经是布尔值,所以不需要
bool()
),然后求和:它非常适合测试一个条件,但是如果您想一次性计算匹配多个条件(
len < 5
,len == 5
)的单词数,经典循环仍然是最佳选择,因为它只在列表上迭代一次,而且您自然会对if/elsif
使用短路求值,这对listcomps来说太糟糕了,但这就是生命:除了现有答案之外,还可以使用
filter
和lambda
函数来获取计数:相关问题 更多 >
编程相关推荐