我根据各种情况维护一套需要逐渐缩小的电视机。
例如:
acceptable = read_input()
acceptable.rank_by_x()
acceptable = set(filter(is_rank_x_top_100, acceptable))
acceptable.rank_by_y()
acceptable = set(filter(is_rank_y_top_10, acceptable))
它可以工作,但是
set(filter())
构造看起来很难看。有更好的方法吗?还是仅将子集设置为添加具有相同功能的方法更好? 最佳答案
您可以将此折叠为:
acceptable = set()
#...
acceptable = set(filter(is_rank_y_top_10,
filter(is_rank_x_top_100, acceptable)))
或使用理解:
acceptable = set()
#...
acceptable = set(i for i in acceptable
if is_rank_x_top_100(i) and is_rank_y_top_10(i))
关于python - 设置(过滤器)重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8498381/