45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:python如何获取汉字拼音的首字母?

python如何获取汉字拼音的首字母?

2015-07-23 06:58:04 来源:www.45fan.com 【

python如何获取汉字拼音的首字母?

本文实例讲述了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程序设计有所帮助。


本文地址:http://www.45fan.com/a/question/15383.html
Tags: 获取 python 一组
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部