1.可以利用translate+string模块

2.可以利用jieba进行分词(结巴分词会分成词,但是我需要断句,所以这里不用)

3.利用python内置函数解决

仅仅只列出第3种方法,其他两种方法更加简单点所以就不列出来了。上代码:

 s = input("搜一搜:")
py = zw = sz = fh = ''
py_list = []
zw_list = []
sz_list = []
fh_list = []
py_num = zw_num = sz_num = fh_num = 0
for i in range(len(s)):
if s[i].encode('UTF-8').isalpha():
if(i == py_num or i-py_num==1 or py == ''):
py += s[i]
py_num = i
else:
py_list.append(py)
py = ''+s[i]
py_num = i
elif (s[i].isdigit()):
if (i == sz_num or i - sz_num == 1 or sz == ''):
sz += s[i]
sz_num = i
else:
sz_list.append(sz)
sz = '' + s[i]
sz_num = i
elif (s[i].isalpha()):
if (i == zw_num or i - zw_num == 1 or zw == ''):
zw += s[i]
zw_num = i
else:
zw_list.append(zw)
zw = '' + s[i]
zw_num = i
else:
if (i == fh_num or i - fh_num == 1 or fh == ''):
fh += s[i]
fh_num = i
else:
fh_list.append(fh)
fh = '' + s[i]
fh_num = i
if py not in py_list:
py_list.append(py)
if sz not in sz_list:
sz_list.append(sz)
if zw_list not in zw_list:
zw_list.append(zw)
if fh not in fh_list:
fh_list.append(fh)
print('数字:{}\n中文:{}\n拼音:{}\n符号:{}\n'.format('、'.join(sz_list),'、'.join(zw_list),'、'.join(py_list),''.join(fh_list)))

python3 词法拆分的更多相关文章

  1. 应注意的Flex&Bison潜规则

    1.Flex的二义性模式 语法分析器匹配输入时匹配尽可能多的字符串 如果两个模式都可以匹配的话,匹配在程序中更早出的模式. 针对这一点的理解,在语法分析文件当中,token的识别,应从特殊到一般的过程 ...

  2. 编译原理_P1004

    龙书相关知识点总结 //*************************引论***********************************// 1. 编译器(compiler):从一中语言( ...

  3. 浅谈JavaScript代码性能优化2

    一.减少判断层级 从下图代码中可以明显看出,同样的效果判断层级的减少可以优化性能 二.减少作用域链查找层级 简单解释下,下图中第一个运行foo函数,bar函数内打印name,bar作用域内没有name ...

  4. Python3基础 tuple 通过拆分元组向元组中加入新的元素

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  5. Python3基础 tuple 通过拆分元素 把元组的数据删除

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  6. Python3基础 str 通过拆分字符串与插入新的内容形成新的字符串

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  7. Python3.x:第三方库简介

    Python3.x:第三方库简介 环境管理 管理 Python 版本和环境的工具 p – 非常简单的交互式 python 版本管理工具. pyenv – 简单的 Python 版本管理工具. Vex ...

  8. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  9. python3爬虫 url管理器

    import urllib.request #python3中将urllib2拆分为了urllib.request.urllib.error.urllib.response等 import http. ...

随机推荐

  1. Python之yield简明详解

    yield在Python中被称之为生成器(只能在函数中使用),他的作用是将函数中每次执行的结果以类似元组的形式保存起来一遍后续使用. 什么是生成器? 通过列表生成式,我们可以直接创建一个列表.但是,受 ...

  2. Python函数之递归函数

    递归函数的定义:在这个函数里再调用这个函数本身 最大递归深度默认是997或者998,python从内存角度做的限制 优点:代码变简单 缺点:占内存 一:推导年龄 问a的值是多少: a 比 b 小2,b ...

  3. Red Language

    官网地址:http://www.red-lang.org/ 源代码地址:https://github.com/red/red   通过github上的Readme,可以完成Hello World的学习 ...

  4. data-key

    在foreach或者each循环中给按钮赋予值 html中:data-key="@config.key" js里获取值: var key = $(this).data(" ...

  5. 激活函数的比较,sigmoid,tanh,relu

    1. 什么是激活函数 如下图,在神经元中,输入inputs通过加权.求和后,还被作用了一个函数.这个函数就是激活函数Activation Function 2. 为什么要用激活函数 如果不用激活函数, ...

  6. PAT Basic 1069. 微博转发抽奖(20)

    小明PAT考了满分,高兴之余决定发起微博转发抽奖活动,从转发的网友中按顺序每隔N个人就发出一个红包.请你编写程序帮助他确定中奖名单. 输入格式: 输入第一行给出三个正整数M(<= 1000).N ...

  7. [转] Javascript中理解发布--订阅模式

    发布订阅模式介绍 发布---订阅模式又叫观察者模式,它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知. 现实生活中的发布- ...

  8. Log4Net帮助类

    工具类 using System; using System.Diagnostics; using log4net; namespace Trumgu_BI_PF.Util { public clas ...

  9. P4715 「英语」Z 语言

    题解: 平衡树维护hash值 为了支持加入删除操作 x*base^y 其中y为他是第k大 同一般的维护方法,我们不用对每个节点维护他的hash值 而是只用记录他的x值(他的位置) 然后通过updata ...

  10. python函数默认参数为可变对象的理解

    1.代码在执行的过程中,遇到函数定义,初始化函数生成存储函数名,默认参数初识值,函数地址的函数对象. 2.代码执行不在初始化函数,而是直接执行函数体. 代码实例 这要从函数的特性说起,在 Python ...