📜  Python – 字符串中的 Bigrams 频率

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

Python – 字符串中的 Bigrams 频率

有时在使用Python Data 时,我们可能会遇到需要从字符串中提取二元组的问题。这在 NLP 领域有应用。但有时,我们需要计算唯一二元组的频率以进行数据收集。这个问题的解决方案可能很有用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用Counter() + 生成器表达式
上述功能的组合可以用来解决这个问题。在此,我们使用 Counter() 计算频率,并使用生成器表达式和字符串切片进行二元计算。

# Python3 code to demonstrate working of 
# Bigrams Frequency in String
# Using Counter() + generator expression
from collections import Counter
      
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Bigrams Frequency in String
# Using Counter() + generator expression
res = Counter(test_str[idx : idx + 2] for idx in range(len(test_str) - 1))
  
# printing result 
print("The Bigrams Frequency is : " + str(dict(res))) 
输出 :

方法#2:使用Counter() + zip() + map() + join
上述功能的组合也可以用来解决这个问题。在此,我们使用 zip() + map() + join 执行构建二元组的任务。

# Python3 code to demonstrate working of 
# Bigrams Frequency in String
# Using Counter() + zip() + map() + join
from collections import Counter
      
# initializing string
test_str = 'geeksforgeeks'
  
# printing original string
print("The original string is : " + str(test_str))
  
# Bigrams Frequency in String
# Using Counter() + zip() + map() + join
res = Counter(map(''.join, zip(test_str, test_str[1:])))
  
# printing result 
print("The Bigrams Frequency is : " + str(dict(res))) 
输出 :