📜  给定Python列表的二元组形式

📅  最后修改于: 2022-05-13 01:55:48.392000             🧑  作者: Mango

给定Python列表的二元组形式

当我们处理文本分类时,有时我们需要进行某种自然语言处理,因此有时需要形成二元词进行处理。在没有合适的库的情况下,它的困难和必须做同样的事情总是非常有用的。让我们讨论一些可以实现这一目标的方法。

方法 #1:使用列表理解 + enumerate() + split()
上述三个功能的组合可用于完成此特定任务。 enumerate函数执行可能的迭代,split函数用于配对,list comprehension 用于组合逻辑。

# Python3 code to demonstrate
# Bigram formation
# using list comprehension + enumerate() + split()
   
# initializing list 
test_list = ['geeksforgeeks is best', 'I love it']
  
# printing the original list 
print ("The original list is : " + str(test_list))
  
# using list comprehension + enumerate() + split()
# for Bigram formation
res = [(x, i.split()[j + 1]) for i in test_list 
       for j, x in enumerate(i.split()) if j < len(i.split()) - 1]
  
# printing result
print ("The formed bigrams are : " + str(res))

输出 :


方法 #2:使用zip() + split() + list comprehension
在上述方法中执行的枚举任务也可以通过使用迭代器的 zip函数执行,因此以更快的方式执行。让我们讨论一些可以做到这一点的方法。

# Python3 code to demonstrate
# Bigram formation
# using zip() + split() + list comprehension
   
# initializing list 
test_list = ['geeksforgeeks is best', 'I love it']
  
# printing the original list 
print ("The original list is : " + str(test_list))
  
# using zip() + split() + list comprehension
# for Bigram formation
res = [i for j in test_list 
       for i in zip(j.split(" ")[:-1], j.split(" ")[1:])]
  
# printing result
print ("The formed bigrams are : " + str(res))

输出 :