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 encode和decode的妙用
Sep 02 Python
老生常谈进程线程协程那些事儿
Jul 24 Python
Python实现扣除个人税后的工资计算器示例
Mar 26 Python
使用Python的toolz库开始函数式编程的方法
Nov 15 Python
Python中shapefile转换geojson的示例
Jan 03 Python
python实现得到当前登录用户信息的方法
Jun 21 Python
python函数与方法的区别总结
Jun 23 Python
face++与python实现人脸识别签到(考勤)功能
Aug 28 Python
Python socket处理client连接过程解析
Mar 18 Python
python 实现一个简单的线性回归案例
Dec 17 Python
python 自动识别并连接串口的实现
Jan 19 Python
Python基础之pandas数据合并
Apr 27 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP中nowdoc和heredoc使用需要注意的一点
2014/03/21 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
js操作iframe的一些方法介绍
2013/06/25 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
jquery选择器大全 全面详解jquery选择器
2014/03/06 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
js文本框走动跑马灯效果代码分享
2015/08/25 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
微信小程序用户信息encryptedData详解
2018/08/24 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
原生js实现购物车
2020/09/23 Javascript
[03:09]2014DOTA2国际邀请赛 赛场上的美丽风景线 中国Coser也爱DOTA2
2014/07/20 DOTA
[49:28]VP vs Optic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[57:22]完美世界DOTA2联赛PWL S2 FTD vs PXG 第二场 11.27
2020/12/01 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
使用C语言来扩展Python程序和Zope服务器的教程
2015/04/14 Python
Python中property属性实例解析
2018/02/10 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
HTML5页面音视频在微信和app下自动播放的实现方法
2016/10/20 HTML / CSS
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
Java程序开发中如何应用线程
2016/03/03 面试题
Java面试笔试题大全
2016/11/23 面试题
外语专业毕业生个人的自荐信
2013/11/19 职场文书
行政管理专业求职信
2014/07/06 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
专职安全员岗位职责
2015/04/11 职场文书
使用Djongo模块在Django中使用MongoDB数据库
2021/06/20 Python
MySQL实现用逗号进行拼接、以逗号进行分割
2022/12/24 MySQL