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程序设计有所帮助。

(0)

相关推荐

  • Python 列表(List)操作方法详解

    列表是Python中最基本的数据结构,列表是最常用的Python数据类型,列表的数据项不需要具有相同的类型.列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推.Python有6个序列的内置类型,但最常见的是列表和元组.序列都可以进行的操作包括索引,切片,加,乘,检查成员.此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 一.创建一个列表只要把逗号分隔的不同的数据项使用方括号括起来即可.如下所示: 复制代码 代码如下: list1

  • Python实现将不规范的英文名字首字母大写

    例如 输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']. 方法一 def wgw(x): return [x[0].upper(),x[1:].lower()] map(wgw,['adam','LISA','barT']) 方法二 def wgw1(x): return x.capitalize() map(wgw1,['adam','LISA','barT']) 方法三 map(lambda x:x.capitalize(),['

  • python将人民币转换大写的脚本代码

    复制代码 代码如下: def Num2MoneyFormat( change_number ):    """    .转换数字为大写货币格式( format_word.__len__() - 3 + 2位小数 )    change_number 支持 float, int, long, string    """    format_word = ["分", "角", "元",   

  • 浅析Python中将单词首字母大写的capitalize()方法

    capitalize()方法返回字符串的一个副本,只有它的第一个字母大写.对于8位的字符串,这个方法与语言环境相关. 语法 以下是capitalize()方法的语法: str.capitalize() 参数 NA 返回值 此方法返回的字符串只有它的第一个字符大写的副本. 例子 下面的示例演示了capitalize方法的使用. #!/usr/bin/python str = "this is string example....wow!!!"; print "str.capit

  • Python中用于检查英文字母大写的isupper()方法

    isupper()方法检查字符串的所有基于大小写的字符(字母)是否是大写. 语法 以下是isupper()方法的语法: str.isupper() 参数 NA 返回值 如果字符串中的所有字符是大写字母并且至少有一个可大小写字符此方法返回true,否则返回false. 例子 下面的例子显示了isupper()方法的使用. #!/usr/bin/python str = "THIS IS STRING EXAMPLE....WOW!!!"; print str.isupper(); str

  • python中合并两个文本文件并按照姓名首字母排序的例子

    前段时间前在网上看到一段面试题,要求如下: employee文件中记录了工号和姓名 复制代码 代码如下: cat employee.txt: 100 Jason Smith 200 John Doe 300 Sanjay Gupta 400 Ashok Sharma bonus文件中记录工号和工资 复制代码 代码如下: cat bonus.txt: 100 $5,000 200 $500 300 $3,000 400 $1,250 要求把两个文件合并并输出如下, 处理结果: 复制代码 代码如下:

  • python strip()函数 介绍

    函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm)        删除s字符串中开头.结尾处,位于 rm删除序列的字符 s.lstrip(rm)       删除s字符串中开头处,位于 rm删除序列的字符 s.rstrip(rm)      删除s字符串中结尾处,位于 rm删除序列的字符 注意: 1. 当rm为空时,默认删除空白符(包括'\n', '\r',  '\t',  ' ') 例如: 复制代码 代码如下: >>> a = '     123'>>

  • python 中文乱码问题深入分析

    在本文中,以'哈'来解释作示例解释所有的问题,"哈"的各种编码如下: 1. UNICODE (UTF8-16),C854: 2. UTF-8,E59388: 3. GBK,B9FE. 一.python中的str和unicode 一直以来,python中的中文编码就是一个极为头大的问题,经常抛出编码转换的异常,python中的str和unicode到底是一个什么东西呢? 在python中提到unicode,一般指的是unicode对象,例如'哈哈'的unicode对象为 u'\u54c8

  • python实现可将字符转换成大写的tcp服务器实例

    本文实例讲述了python实现可将字符转换成大写的tcp服务器.分享给大家供大家参考.具体分析如下: 下面的python代码执行后通过tcp监控8081端口,用于将用户发送的请求字符串转换成大写后返回,如果用户发送的是end,则中断连接 import SocketServer import netstring class MyRequestHandler(SocketServer.BaseRequestHandler): def handle(self): print "From:",

  • Python入门教程 超详细1小时学会Python

    为什么使用Python    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows是批处理脚本).例如,在Windows上用ping ip 的命令依次测试各个机器并得到控制台输出.由于ping通的时候控制台文本通常是"Reply from ... " 而不通的时候文本是"time out ... " ,所以,在结果中进行

随机推荐