擅长:python、mysql、java
<p>尝试使用切片:</p>
<pre><code>inlinkDict[docid] = adoc[1:]
</code></pre>
<p>对于只有键值在行上的情况,这将为您提供一个空列表,而不是0。要改为获取0,请使用<code>or</code>(它始终返回一个操作数):</p>
<pre><code>inlinkDict[docid] = adoc[1:] or 0
</code></pre>
<hr/>
<p>听写理解更容易:</p>
<pre><code>>>> with open('/tmp/spam.txt') as f:
... data = [line.split() for line in f]
...
>>> {d[0]: d[1:] for d in data}
{'A': ['B', 'C', 'D'], 'C': ['A', 'B', 'D'], 'B': ['E', 'F'], 'D': []}
>>> {d[0]: ' '.join(d[1:]) if d[1:] else 0 for d in data}
{'A': 'B C D', 'C': 'A B D', 'B': 'E F', 'D': 0}
</code></pre>
<p>注意:dict键必须是唯一的,所以如果有两行以“C”开头,那么第一行将被重写。</p>