擅长:python、mysql、java
<p>这里有一个与单个测试用例高度耦合的解决方案。如果完整的数据集不能代表您的单个测试用例,那么您必须通过更多的测试来改进它。你知道吗</p>
<pre><code>def extract(items):
result, filename, idx = [], items[0], -1
for x in items[1:]:
if x.startswith('interface Vlan'):
idx += 1
result.append([filename])
result[idx].append(x)
return result
# given & expected are your example and output
assert expected == extract(given)
</code></pre>
<p>编辑:<br/>
... 你已经改变了输入和输出。你知道吗</p>
<pre><code>def extract(items):
result, idx = [], -1
for x in items:
if x.startswith('interface Vlan'):
idx += 1
result.append([])
if not result: continue # assuming possible unwanted items before 'interface Vlan'
result[idx].append(x)
return result
assert expected == extract(given)
</code></pre>