擅长:python、mysql、java
<p>我相信这会做一些类似于你想要的:</p>
<pre><code>def get_translation(source, target):
output = {}
for name, trans in zip(source, target):
if name in output:
output[name].append(trans)
else:
output[name] = [trans]
return output
</code></pre>
<p>这不会获取索引并创建整数字典,而是复制源和目标中包含的字符串。你知道吗</p>
<p>它同时遍历两个列表。如果名称不在词典<code>output</code>中,则它将作为包含<code>trans</code>的列表添加到词典中。如果名称已经在字典中,那么<code>trans</code>将添加到该列表的末尾。你知道吗</p>
<p>因此,输入:</p>
<pre><code>source = ['text1', 'text2', 'text3', 'text2']
target = ['trans1', 'trans2', 'trans3', 'trans4']
</code></pre>
<p>将产生输出:</p>
<pre><code>{'text1':['trans1'], 'text2':['trans2', 'trans4'], 'text3':['trans3']}
</code></pre>
<p>输入:</p>
<pre><code>source = [1, 1, 2, 3, 4, 4, 4, 5, 6]
target = [1, 2, 2, 3, 1, 2, 3, 5, 6]
</code></pre>
<p>输出:</p>
<pre><code>{1: [1, 2], 2: [2], 3: [3], 4: [1, 2, 3], 5: [5], 6: [6]}
</code></pre>