擅长:python、mysql、java
<p>你把事情搞得太复杂了。我会用:</p>
<pre><code>data = []
for line in infoData:
if '=' not in line:
continue
name, value = line.split('=')
value, unit = re.search('([\d.]+)(\w+)', value).groups()
data.append({'name': name.strip(), 'value': float(value), 'unit': unit})
</code></pre>
<p>对于提供字典列表的示例数据:</p>
<pre><code>[{'name': 'width', 'unit': 'cm', 'value': 3.45},
{'name': 'height', 'unit': 'm', 'value': 2.0},
{'name': 'width', 'unit': 'mm', 'value': 2.0},
{'name': 'height', 'unit': 'm', 'value': 6.67}]
</code></pre>
<p>而不是3个单独的列表。你知道吗</p>