我需要帮助理解代码b中数字“1”和“sum”的功能

2024-04-26 12:24:49 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我朋友给我的一个句子中计算大小写字母的方法,没有解释语句中1的用法。你知道吗

x = raw_input('Enter the  word')

print ("Capital Letters: ", sum(1 for d in x if d.isupper()))
print ("Small  letters:" , sum(1 for d in x if d.islower()))

有人能帮我解释一下为什么用1吗?为什么用sum代替len呢? 谢谢


Tags: the方法in用法forinputrawif
2条回答

他正在筛选字符串中的所有大写字母,并为剩余列表中的每个项目建立一个1的列表。然后他把名单加起来。因为列表理解是构建生成器而不是列表,所以不能使用len。你知道吗

(已编辑。以前的版本说len可以等价地使用)

sum函数接受容器作为其参数,并返回其元素的总和。你知道吗

这行sum(1 for d in x if d.isupper())将生成器表达式提供给sum函数,该函数由1组成,实际上计算字符串中大写单词的数量。你知道吗

例如,如果您的字符串是HeLLo,它实际上看起来像sum((1,1,1)),等于3。你知道吗

相关问题 更多 >