zoukankan      html  css  js  c++  java
  • 【python】字符排序

    一、摘要

        最近在做一个排序的东西,被python的字符串编码格式折腾了一会儿,总结下

    二、排序

    英文排序不用说,sort sorted 比较好,内部已经实现

    主要是中文,方法是查表获取拼音再进行排序。但编码格式很让人无奈,utf-8是1个字节,unicde是2个字节,在打印获取数据的过程中很无奈。

    encode 可将unicde字符串转化为指定格式

    decode 可将指定格式支付串转为unicode格式

    以下是网上找的例子:

        pinyin = file('pinyin.txt').read().decode('utf-8').split('
    ')
        pinyin_dict = {}
        for line in pinyin:
            if not line.strip():
                continue
            tmp = line.split('	')
            pinyin_dict[tmp[0].strip()] = re.sub(r'd*','',tmp[1].strip())
        
        names_sort = sorted (names, key=lambda x:''.join([pinyin_dict.get(i) for i in x]))

    lamba表达式理解为以下:

        for name in names:
            print '
     name:',name.encode('utf-8')
            tmp_dict = []
            for j in name:
                print '
     ---+',j.encode('utf-8')
                print '
     ---+',pinyin_dict.get(j)
                tmp_dict.append(pinyin_dict.get(j)) 
            print ''.join(tmp_dict)
    计划、执行、每天高效的活着学着
  • 相关阅读:
    第二次作业
    构造之法现代软件工程
    软件工程的作业五个问题!
    第四次作业
    第五次作业
    软件工程第二次作业
    第五次作业·
    第五次作业
    软件工程第二次作业
    软件工程第一次作业
  • 原文地址:https://www.cnblogs.com/huxiaoyun90/p/4281160.html
Copyright © 2011-2022 走看看