擅长:python、mysql、java
<p>下面是一个使用正则表达式库的方法。我不知道它是不是更有效,或者甚至可以用Python来形容:</p>
<pre><code>pat = re.compile(r'''([^\s=]+)=\s*((?:[^\s=]+(?:\s|$))*)''')
# The values are lists of strings
entries = dict((k, v.split()) for k, v in pat.findall(textin))
# Alternative if you want the values to be floating point numbers
entries = dict((k, list(map(float, v.split())))
for k, v in pat.findall(textin))
</code></pre>
<p>在Python2.x中,可以使用<code>map(float, v.split())</code>,而不是{<cd2>}。在</p>
<p>与原始程序不同,这个程序允许在<code>=</code>和第一个值之间没有空格的地方输入。此外,在<code>key=</code>的第一个实例之前的输入中的任何项都将被静默忽略。最好是显式地识别它们并抛出一个错误。在</p>
<p>图案说明:</p>
^{pr2}$