从给定的Python列表生成双链

通过从给定句子的每两个连续单词中创建一对单词来形成二元组。在python中,此技术在文本分析中大量使用。下面我们看到两种实现方法。

使用枚举和拆分

使用这两种方法,我们首先将句子拆分为多个单词,然后使用枚举函数从连续的单词中创建一对单词。

示例

list = ['Stop. look left right. go']
print ("The given list is : \n" + str(list))
# Using enumerate() and split() for Bigram formation
output = [(k, m.split()[n + 1]) for m in list for n, k in enumerate(m.split()) if n < len(m.split()) - 1]
print ("Bigram formation from given list is: \n" + str(output))

输出结果

运行上面的代码给我们以下结果-

The given list is :
['Stop. look left right. go']
Bigram formation from given list is:
[('Stop.', 'look'), ('look', 'left'), ('left', 'right.'), ('right.', 'go')]

使用zip()和split()

我们还可以使用zip和split函数创建biagram。zip()函数按顺序将标题中的单词加在一起,这些单词是使用split()从句子中创建的。

示例

list = ['Stop. look left right. go']
print ("The given list is : \n" + str(list))
# Using zip() and split() for Bigram formation
output = [m for n in list for m in zip(n.split(" ")[:-1], n.split(" ")[1:])]
print ("Bigram formation from given list is: \n" + str(output))

输出结果

运行上面的代码给我们以下结果-

The given list is :
['Stop. look left right. go']
Bigram formation from given list is:
[('Stop.', 'look'), ('look', 'left'), ('left', 'right.'), ('right.', 'go')]