擅长:python、mysql、java
<p>我同意@ecatmur的回答;我只是想发布一些对注释来说有点太长的代码建议。你知道吗</p>
<p>没有必要做<code>re.search(re.compile('...', re.IGNORECASE), header_text)</code>。相反,您可以直接将字符串作为<code>re.search('...', header_text, re.IGNORECASE)</code>传入。如果您反复使用同一个regex,<code>re.compile</code>会更快,但是<code>re.search</code>如果您不使用,朋友会为您调用它</p>
<p>尽管我不认同Colin对命名lambdas的蔑视(因为它们仍然是一行而不是两行,所以很方便),但这里根本不需要内部函数:</p>
<pre><code>return colspecs[max(m.groups()).lower() if m else 'def']
</code></pre>
<p>如果只创建一个捕获组而不是四个:<code>'(ID|Date|Comments|Flag)$'</code>,那么<code>max(m.groups())</code>技巧也是不必要的。然后你可以做<code>m.group(1)</code>。你知道吗</p>