我在LearnPython.org上一直关于模块和包的练习。问题说:
在本练习中,您需要在re
模块中打印按字母顺序排列的所有函数列表,其中包含单词find
。
我完全不知道从哪里开始。我是否遍历模块列表?这甚至可能吗? (对不起,如果我听起来毫无头绪,对Python来说是新手)
鉴于代码:
import re
# Your code goes here
预期输出:
['findall', 'finditer']
答案 0 :(得分:1)
本课程分为三部分:反射,过滤和lambdas /或带过滤器的列表理解。
首先,您需要获取方法列表&通过反射的属性:dir(obj)
。
然后你需要过滤;这里至少有两种方法(并使用IPython作为shell,它是你的朋友):
In [3]: filter(lambda a: 'find' in a, dir(re))
Out[3]: ['findall', 'finditer']
In [4]: [a for a in dir(re) if 'find' in a]
Out[4]: ['findall', 'finditer']
答案 1 :(得分:0)
我建议从dir()
函数开始。