擅长:python、mysql、java
<p>在字典中,键必须是uniques,当您执行以下操作时:</p>
<pre><code>mydict[name] = ip.strip()
</code></pre>
<p>您可以覆盖值,而不是将一个值作为一个键,您可以通过执行以下操作来存储一个值列表:</p>
<pre><code>mydict = {}
with open('devices.txt', 'r') as file:
for line in file:
name, ip = line.split()
if name not in mydict:
mydict[name] = []
mydict[name].append(ip.strip())
print(mydict)
</code></pre>
<p><strong>输出</strong></p>
<pre><code>{'asy1': ['10.20.0.1'], 'byt': ['192.1.10.100', '192.1.10.101', '192.1.10.102'], 'hps': ['10.30.1.50', '10.30.1.53', '10.30.1.54', '10.30.1.55', '10.30.1.56'], 'zte': ['10.100.1.1', '10.100.1.2']}
</code></pre>
<p>第二种选择是使用<a href="https://docs.python.org/3/library/stdtypes.html#dict.setdefault" rel="nofollow noreferrer">setdefault</a>:</p>
<pre><code>mydict.setdefault(name, []).append(ip.strip())
</code></pre>
<p>第三种选择是使用<a href="https://docs.python.org/3.7/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">defaultdict</a>。如果值是唯一的,请考虑使用<a href="https://docs.python.org/2/library/sets.html" rel="nofollow noreferrer">set</a>。你知道吗</p>