<p>这里有一个更容易管理的方法。当您的需求发生变化时,更新这段代码会容易得多,比如将<code>lvtnfet</code>也添加到字典中。你知道吗</p>
<pre><code># Or file.readlines()
ls = ['MN_N3 net48 sout VSS VBN lvtnfet l=0.116u nf=1 M=1 nfin=4',
'MN_N10 net082 net48 VSS VBN lvtnfet l=0.116u nf=1 M=1 nfin=4',
'MN_N11 nclk_net CK VSS VBN lvtnfet l=0.068u nf=1 M=1 nfin=4',
'MN_N9 SO SE net082 VBN lvtnfet l=0.116u nf=1 M=1 nfin=4']
word_list = [[word for word in item.split(' ')[:4]] for item in ls ] # Only first 4 elements from the list
final_dict = {index:{'name': ls[0], 'source':ls[1], 'gate':ls[2], 'Drain': ls[3]} for index, ls in enumerate(word_list)}
print(final_dict)
</code></pre>
<p>输出:</p>
<pre><code> {0: {'Drain': 'VSS', 'gate': 'sout', 'name': 'MN_N3', 'source': 'net48'},
1: {'Drain': 'VSS', 'gate': 'net48', 'name': 'MN_N10', 'source': 'net082'},
2: {'Drain': 'VSS', 'gate': 'CK', 'name': 'MN_N11', 'source': 'nclk_net'},
3: {'Drain': 'net082', 'gate': 'SE', 'name': 'MN_N9', 'source': 'SO'}}
</code></pre>
<p>下面是<code>final_dict</code>dict理解的扩展形式,以供参考。你知道吗</p>
<pre><code>final_dict = {}
for index, ls in enumerate(word_list):
final_dict.update({index:{'name': ls[0], 'source':ls[1], 'gate':ls[2], 'Drain': ls[3]}})
print(final_dict)
</code></pre>