zl程序教程

您现在的位置是:首页 >  后端

当前栏目

python lazy_pinyin模块 isalpha函数

Python模块 函数 lazy
2023-09-27 14:29:08 时间
"""
@time: 2020/7/30 12:01
@file: csdn_temp_01.py
@desc: python lazy_pinyin模块 isalpha函数 
"""
# Python 中拼音库 PyPinyin 的用法
# https://blog.csdn.net/zhoulei124/article/details/89055403

from pypinyin import lazy_pinyin


def temp_test(chars):
    """
    test 将汉字转换为汉语拼音
    :return:
    """
    # chars_pinyin = list()
    # for char in chars:
    #     lazy_pinyin_char = lazy_pinyin(char)
    #     # print('--- char = {} lazy_pinyin_char = {}'.format(char, lazy_pinyin_char))
    #     chars_pinyin.append(lazy_pinyin_char)
    # return chars_pinyin
    return [lazy_pinyin(char) for char in chars]


def chars_sort_by_first_pinyin(chars):
    """
    汉字按拼音首字母排序
    :param chars:
    :return:
    """
    chars.sort(key=lambda char: lazy_pinyin(char)[0][0])


def is_alpha(char):
    """判断字符串包含字符是否全部是字母"""
    return char.isalpha()  # 判断是否是字母,返回True OR False(汉字也返回True,汉字是字母?)


def check_is_alpha(char_list):
    result_dict = dict()
    for char in char_list:
        result_dict.update({
            char: is_alpha(char)
        })
    return result_dict


def test():
    """
    测试 - 汉字/英文字母/数字/特殊符号转pinyin测试 - 汉字返回汉字拼音/英文和数字以及特殊字符原样返回
    :return:
    """
    print('--- = {}'.format(lazy_pinyin('国家')))
    print('--- = {}'.format(lazy_pinyin('hehe')))
    print('--- = {}'.format(lazy_pinyin('-hehe')))
    print('--- = {}'.format(lazy_pinyin('_hehe')))
    print('--- = {}'.format(lazy_pinyin('0-hehe')))
    print('--- = {}'.format(lazy_pinyin('&-V-&')))


if __name__ == "__main__":
    chars = ['鑫', '鹭', '榕', '柘', '珈', '骅', '孚', '迦', '瀚', '濮', '浔', '沱', '泸', '恺', '怡', '岷', '萃', '兖']

    # 汉字转换为拼音
    chars_pinyin = temp_test(chars)
    print('--- chars_pinyin = {}'.format(chars_pinyin))

    # 汉字按拼音首字母进行排序 - 列表是可变数据类型,直接在原列表上进行排序
    chars_sort_by_first_pinyin(chars)
    print('--- chars_sort = {}'.format(chars))

    # 判断字符是否时字母
    char_list = ["国", "家", "hehe", "HEHE", "--", "__", ":::", "&&&", "&-V-&", ",", "。", "&-V-&", "0", "1"]
    res1 = check_is_alpha(char_list)
    print('--- res1 = {}'.format(res1))

    # 汉字/英文字母/数字/特殊符号转pinyin测试
    test()

输出:

--- chars_pinyin = [['xin'], ['lu'], ['rong'], ['zhe'], ['jia'], ['hua'], ['fu'], ['jia'], ['han'], ['pu'], ['xun'], ['tuo'], ['lu'], ['kai'], ['yi'], ['min'], ['cui'], ['yan']]
--- chars_sort = ['萃', '孚', '骅', '瀚', '珈', '迦', '恺', '鹭', '泸', '岷', '濮', '榕', '沱', '鑫', '浔', '怡', '兖', '柘']
--- res1 = {'国': True, '家': True, 'hehe': True, 'HEHE': True, '--': False, '__': False, ':::': False, '&&&': False, '&-V-&': False, ',': False, '。': False, '0': False, '1': False}
--- = ['guo', 'jia']
--- = ['hehe']
--- = ['-hehe']
--- = ['_hehe']
--- = ['0-hehe']
--- = ['&-V-&']