- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在创建不同的过滤器作为我的 python 库的一部分。我希望每个过滤器都是 python 模块中的一个函数。
def filterB(num):
return num == 'B'
def filterA(str):
return str == 'A'
每个过滤器都可以导入并添加到列表中。
import filters
my_list = [filters.filterA, filters.filterB]
现在,所有这些都可以作为 ifilter 应用到我的列表中。
my_list = ['A', 'B' , 'C' , 'D']
def nFilter(filters, my_list):
for f in filters:
my_list = ifilter(f, my_list)
return my_list
现在,我还希望每个过滤器都有一个顺序号,以便可以根据特定顺序应用过滤器。我将如何实现这一点,因为 ifilter 只需要函数。
附注我考虑过创建抽象过滤器类并将其连接到我的特定过滤器类。我只是在寻找更好的设计方法来解决这个问题?所以任何意见都会有帮助。
最佳答案
如果我理解正确的话:让你的过滤器列表包含 的元组,并以排序的方式迭代它们。
import filters
filter_list = [(2, filters.filterA), (1, filters.filterB)]
data_list = ['A', 'B' , 'C' , 'D']
def nFilter(filters, my_list):
for _, f in sorted(filters):
my_list = ifilter(f, my_list)
return my_list # or list(my_list) if you actually want a list
关于python - 如何设计Python过滤器函数以便能够使用加法属性进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37420323/
我正在使用 Java 编写一个时钟程序,该程序能够“滴答作响”,但它存在问题。我认为它与 getter 和 setter 或 toString() 方法有关。 计数器类 package clock;
const Index = () => { // Ref Links const frefLinks = { 1: useRef(1), 2: useRef(2), 3: useRef(3
所以我读了here不能 pickle 装饰函数。确实: import multiprocessing as mp def deco(f): def wrapper(*args, **kwarg
我在go1.11.2 linux/amd64 版本。当包godog使用 go get github.com/DATA-DOG/godog/ 安装,godog 可执行文件在 $GOPATH/bin/中创
如何正确压缩字符串,以便 PHP 能够解压缩? 我试过这个: public static byte[] compress(String string) throws IOException {
我们这里的问题是表明 在测试中使用 Kleene 代数。 在 b 的值由 p 保留的情况下,我们有交换条件 bp = pb;两个程序之间的等价性简化为等式 在 b 的值不被 p 保留的情况下,我们有交
我有一个与我的网络相关的非常奇怪的问题,我在具有多个接口(interface)的 VirtualBox 上安装了 RDO Grizzly OpenStack。 虚拟盒子: eth0 - managem
我正在尝试使用 Passport.js授权谷歌OAuth2在 Node.js .我整个星期都在尝试让它工作,但不知道为什么它不工作,所以现在我求助于 stack 寻求一些潜在的帮助。我已经尝试了所有在
我是一名优秀的程序员,十分优秀!