我有一个函数来从string列表中选出一个块,并将它们作为另一个列表返回: def filterPick(lines,regex): result = [] for l in lines: match = re.search(regex,l) if match: result += [match.group(1)] return result 有没有办法将这个重新expression为一个列表理解? 显然这是相当清楚的。 只是好奇。 感谢那些贡献者,特别提到@Alex。 这里是我最终的结果。 正则expression式匹配方法作为“预悬挂”parameter passing给filterPick: import re def filterPick(list,filter): return [ ( l, m.group(1) ) for l in list for m in (filter(l),) if m] theList = ["foo", "bar", "baz", "qurx", "bother"] searchRegex […]
有没有人知道如何得到(Scala部分只)desugared for / comprehensionexpression式之前它实际上试图在REPL(或编译器)编译? 我迄今为止唯一发现的是编译器“-print”标志,但是它给了你全面的Scala翻译…