def n_gram_fn(n):
# 1- 准备数据
word_list = ["aa", "bb", "cc", "dd"]
# 2- 对相邻的词进行合并
"""
2-gram:bi-gram,将相邻的2个词合并成新的词
列表一:["aa", "bb", "cc", "dd"]
列表二:["bb", "cc", "dd"]
结果是:[aabb,bbcc,ccdd]
3-gram:tri-gram,将相邻的3个词合并成新的词
列表一:["aa", "bb", "cc", "dd"]
列表二:["bb", "cc", "dd"]
列表三:["cc", "dd"]
结果是:[aabbcc,bbccdd]
"""
lists = [word_list[i:] for i in range(n)]
# print(lists)
print(list(zip(*lists)))
if __name__ == '__main__':
n_gram_fn(1)
n_gram_fn(2)
n_gram_fn(3)