<p>您可以使用<a href="https://docs.python.org/2/library/stdtypes.html#dict.setdefault" rel="nofollow noreferrer">^{<cd1>}</a>方法来实现这一点:</p>
<pre><code>my_dict = {}
for i, j in zip(l1, l2):
my_dict.setdefault(i, []).append(j)
</code></pre>
<p>它将返回<code>my_dict</code>的值:</p>
^{pr2}$
<p>或者,使用TigerhawkT3提到的<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">^{<cd3>}</a>。在</p>
<hr/>
<p><strong>代码问题:</strong>您没有检查现有的<code>key</code>。每次执行<code>SrvCodeDct[r] = item</code>操作时,都会用<code>item</code>值更新<code>r</code>键的上一个值。为了解决这个问题,您必须将<code>if</code>条件添加为:</p>
<pre><code>l1 = ("a","a","b","b","c","d","d")
l2 = (1,2,3,3,4,5,6,)
my_dict = {}
for i, j in zip(l1, l2):
if i in my_dict: # your `if` check
my_dict[i].append(j) # append value to existing list
else:
my_dict[i] = [j]
>>> my_dict
{'a': [1, 2], 'c': [4], 'b': [3, 3], 'd': [5, 6]}
</code></pre>
<p>然而,可以使用<a href="https://docs.python.org/2/library/collections.html#collections.defaultdict" rel="nofollow noreferrer">^{<cd3>}</a>(如TigerhawkT3所述)或使用<a href="https://docs.python.org/2/library/stdtypes.html#dict.setdefault" rel="nofollow noreferrer">^{<cd1>}</a>方法来简化此代码:</p>
<pre><code>my_dict = {}
for i, j in zip(l1, l2):
my_dict.setdefault(i, []).append(j)
</code></pre>