python获取一组汉字拼音首字母的方法


Posted in Python onJuly 01, 2015

本文实例讲述了python获取一组汉字拼音首字母的方法。分享给大家供大家参考。具体实现方法如下:

#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
def multi_get_letter(str_input): 
  if isinstance(str_input, unicode): 
    unicode_str = str_input 
  else: 
    try: 
      unicode_str = str_input.decode('utf8') 
    except: 
      try: 
        unicode_str = str_input.decode('gbk') 
      except: 
        print 'unknown coding' 
        return 
  return_list = [] 
  for one_unicode in unicode_str: 
    return_list.append(single_get_first(one_unicode)) 
  return return_list 
def single_get_first(unicode1): 
  str1 = unicode1.encode('gbk') 
  try:     
    ord(str1) 
    return str1 
  except: 
    asc = ord(str1[0]) * 256 + ord(str1[1]) - 65536 
    if asc >= -20319 and asc <= -20284: 
      return 'a' 
    if asc >= -20283 and asc <= -19776: 
      return 'b' 
    if asc >= -19775 and asc <= -19219: 
      return 'c' 
    if asc >= -19218 and asc <= -18711: 
      return 'd' 
    if asc >= -18710 and asc <= -18527: 
      return 'e' 
    if asc >= -18526 and asc <= -18240: 
      return 'f' 
    if asc >= -18239 and asc <= -17923: 
      return 'g' 
    if asc >= -17922 and asc <= -17418: 
      return 'h' 
    if asc >= -17417 and asc <= -16475: 
      return 'j' 
    if asc >= -16474 and asc <= -16213: 
      return 'k' 
    if asc >= -16212 and asc <= -15641: 
      return 'l' 
    if asc >= -15640 and asc <= -15166: 
      return 'm' 
    if asc >= -15165 and asc <= -14923: 
      return 'n' 
    if asc >= -14922 and asc <= -14915: 
      return 'o' 
    if asc >= -14914 and asc <= -14631: 
      return 'p' 
    if asc >= -14630 and asc <= -14150: 
      return 'q' 
    if asc >= -14149 and asc <= -14091: 
      return 'r' 
    if asc >= -14090 and asc <= -13119: 
      return 's' 
    if asc >= -13118 and asc <= -12839: 
      return 't' 
    if asc >= -12838 and asc <= -12557: 
      return 'w' 
    if asc >= -12556 and asc <= -11848: 
      return 'x' 
    if asc >= -11847 and asc <= -11056: 
      return 'y' 
    if asc >= -11055 and asc <= -10247: 
      return 'z' 
    return '' 
def main(str_input): 
  a = multi_get_letter(str_input) 
  b = '' 
  for i in a: 
    b= b+i 
  print b 
if __name__ == "__main__": 
  str_input=u'欢迎你' 
  main(str_input)

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
优化Python代码使其加快作用域内的查找
Mar 30 Python
Python中优化NumPy包使用性能的教程
Apr 23 Python
Pycharm编辑器技巧之自动导入模块详解
Jul 18 Python
Python设计模式之中介模式简单示例
Jan 09 Python
python url 参数修改方法
Dec 26 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
python 整数越界问题详解
Jun 27 Python
Python获取时间戳代码实例
Sep 24 Python
python 两个数据库postgresql对比
Oct 21 Python
解决安装pyqt5之后无法打开spyder的问题
Dec 13 Python
python连接PostgreSQL过程解析
Feb 09 Python
用Python将库打包发布到pypi
Apr 13 Python
python的keyword模块用法实例分析
Jun 30 #Python
Python实现监控程序执行时间并将其写入日志的方法
Jun 30 #Python
python实现爬取千万淘宝商品的方法
Jun 30 #Python
python简单判断序列是否为空的方法
Jun 30 #Python
python检查序列seq是否含有aset中项的方法
Jun 30 #Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 #Python
python过滤字符串中不属于指定集合中字符的类实例
Jun 30 #Python
You might like
PHP面向对象编程快速入门
2006/12/14 PHP
php加密解密函数authcode的用法详细解析
2013/10/28 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
2015/09/14 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
Windows服务器中PHP如何安装redis扩展
2019/09/27 PHP
JsEasy简介 JsEasy是什么?与下载
2007/03/07 Javascript
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
有关Promises异步问题详解
2015/11/13 Javascript
JavaScript事件代理和委托详解
2016/04/08 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
JS实现复选框的全选和批量删除功能
2017/04/05 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
vue 做移动端微信公众号采坑经验记录
2018/04/26 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
Angular CLI 使用教程指南参考小结
2019/04/10 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
详解Vue3 Teleport 的实践及原理
2020/12/02 Vue.js
JavaScript Dom实现轮播图原理和实例
2021/02/19 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
python连接MySQL数据库实例分析
2015/05/12 Python
python中input()与raw_input()的区别分析
2016/02/27 Python
Python 中开发pattern的string模板(template) 实例详解
2017/04/01 Python
对numpy中布尔型数组的处理方法详解
2018/04/17 Python
Python 使用SFTP和FTP实现对服务器的文件下载功能
2020/12/17 Python
html5画布旋转效果示例
2014/01/27 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
卡西欧G-SHOCK英国官网: 防水防震手表
2018/01/08 全球购物
德国高尔夫商店:Golfshop.de
2019/06/22 全球购物
说一下Linux下有关用户和组管理的命令
2016/01/04 面试题
幼师专业毕业生自荐信
2013/09/29 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
vue项目两种方式实现竖向表格的思路分析
2021/04/28 Vue.js
Python办公自动化之Excel(中)
2021/05/24 Python
openGauss数据库JDBC环境连接配置的详细过程(Eclipse)
2022/06/01 Java/Android