python 排列组合_Python计算生态jieba库和random库的综合运用之爬山篇

本篇文章会利用python语言中的第三方库jieba库和标准库random库来对文件中的相关元素进行操作。

实践中文片段:“今天是个好天气,大家一起去爬山。”该句子分为上下两部分,以逗号和句号隔开。第一步对该句子进行分词,并以8位为随机种子,在上下半句分别为重新排列组合的词语,并组合输出10种不重复的可能。其中,上下部分部分词语不交叉,每个可能的组合单行输出,,储存到”句子组合.txt“文件中。格式如下:

今天是个好天气,大家一起去爬山。是个好天气今天,一起去爬山今天。
fe1b9817ecadbe0deb1ec2d8d8bcc599.png

首先,我们导入jieba、random库,创建出所给出的文本字符串。

import jiebaimport randoms = "今天是个好天气,大家一起去爬山。"

对s进行上下半句的分割储存在相关变量之中。

k = s.find(',')s1 = jieba.lcut(s[0:k])s2 = jieba.lcut(s[k+1:-1])
a8cf901af8ea1ab5a381e28890949a4d.png

设置随机数种子,并将上下半句重新组合排序并组合成10种不重复的可能。

random.seed(8)lines = [ ]while True:line = " "random.shuffle(s1) #将字符串s1中的元素任意排序random.shuffle(s2) 

对打乱后的s1和s2进行循环遍历,并将其储存在列表line中。最后将10中不重复的line列表粘贴到lines中。将其以csv文件储存。

for item in s1: line += item + "," #遍历s1,将其元素储存在line中,以逗号结尾for item in s2: line += item +"。"if line in lines: continueelse: lines.append(line)if len(lines) ==10: breakf = open("句子组合.txt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值