<p>你需要一点争吵才能得到你需要的东西。如果您只需要基于翻译的元组,根据您的示例,可以使用以下函数:</p>
<pre><code># -*- coding: utf-8 -*-
def zipping(string):
string = string.replace(', ', ',') # to take away parasite spaces
string = string.split(" >>> ")
trans_tuples = zip(string[0].split(','), string[1].split(','))
return trans_tuples
str = "Difensori dei diritti umani, libertà di espressione >>> Human rights defenders, freedom of expression"
for bigram in zipping(str):
print bigram
</code></pre>
<p>输出为:</p>
<pre><code>('Difensori dei diritti umani', 'Human rights defenders')
('libertà di espressione', 'freedom of expression')
</code></pre>
<p>如果需要将一方的两个术语与另一方的两个术语相关联(出于上下文目的,我想),只需按如下所示调整zipping函数:</p>
<pre><code># -*- coding: utf-8 -*-
def zipping(string):
string = string.replace(', ', ',')
string = string.split(" >>> ")
trans_tuples = zip(string[0].split(','), string[1].split(','))
trans_tuples.append((trans_tuples[0][0], trans_tuples[1][1])) # new line 1
trans_tuples.append((trans_tuples[1][0], trans_tuples[0][1])) # new line 2
return trans_tuples
str = "Difensori dei diritti umani, libertà di espressione >>> Human rights defenders, freedom of expression"
for bigram in zipping(str):
print bigram
</code></pre>
<p>在这种情况下,输出如下:</p>
<pre><code>('Difensori dei diritti umani', 'Human rights defenders')
('libertà di espressione', 'freedom of expression')
('Difensori dei diritti umani', 'freedom of expression')
('libertà di espressione', 'Human rights defenders')
</code></pre>