原题链接:计算数字个数
解题思路:
这里用到的是Python中的推导式。
什么是推导式:
推导式comprehensions(又称解析式),是Python的一种独有特性。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。
共有三种推导,在Python2和Python3中都有支持:
- 列表(list)推导式
- 字典(dict)推导式
- 集合(set)推导式
列表推导式:
[表达式 for 变量 in 列表] 或者 [表达式 for 变量 in 列表 if 条件]
例子:my_list = [i for i in range(10) if i%2]
print(my_list)
Output:[1, 3, 5, 7, 9]
字典推导式:
{ key:value for key,value in existing_data_structure }
例子:
例子中通过 v,k 来控制字典的key和value值。strings = ['import','is','with','if','file','exception','shim','lucy']
dict = {k:v for v,k in enumerate(strings)}
print(dict)
关于enumerate()函数请参考:https://www.runoob.com/python/python-func-enumerate.html集合推导式:
[ expression for item in Sequence if conditional ]
与列表推导式用法相似
这里我们直接用到字符串的isdigit()
对输入的字符串单个对比,然后把结果存到一个列表中,再使用len()
函数求列表的长度输出即可
参考代码:
print(len([i for i in input() if i.isdigit()]))
9.9 分
8 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复