python 字符种类判断:

    字符种类判断:
            str.isalpha() --是否全是字母,并至少有一个字符
            str.isdigit() --是否全是数字,并至少有一个字符
            str.isspace() --是否全是空白字符,并至少有一个字符
            str.isalnum() --是否全是字母或数字,并至少有一个字符
中文的汉字会被 isalpha 判定为 True:
如果想区分中文和英文可以使用 unicode。
s = u"中国"
print s.encode( 'UTF-8' ).isalpha()  # False

 设计一个函数,计算传入字符串中【数字】、【字母】、【空格】 以及 【其他】的个数,以字典形式返回结果
def my_count(data):
    count_dict = {'数字':0,'字母':0,'空格':0,'其他':0}
    for d in data:
        d = d.encode()
        if d.isdigit():
            count_dict['数字'] += 1
        elif d.isspace():
            count_dict['空格'] += 1
        elif d.isalpha():
            count_dict['字母'] += 1
        else:
            count_dict['其他'] += 1
    print(count_dict)

my_count('123 wer * #$6中国  ')

结果:
{'数字': 4, '字母': 3, '空格': 5, '其他': 5}

如果没有d = d.encode()
结果:
{'数字': 4, '字母': 5, '空格': 5, '其他': 3}

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值