0

我被困在 LearnPython.org 上关于模块和包的练习。这些问题说:

在本练习中,您将需要打印re模块中所有函数的按字母顺序排序的列表,其中包含单词find.

我完全不知道从哪里开始。我是否遍历模块列表?这甚至可能吗?(对不起,如果我听起来一无所知,Python 新手)

给定代码:

import re

# Your code goes here

预期输出:

['findall', 'finditer']
4

2 回答 2

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']
于 2013-10-11T05:36:50.000 回答
0

I'd suggest starting with the dir() function.

于 2013-10-11T05:26:07.290 回答