猿问

传递 char 转换数字时 Python count() 类型错误

我试图以这种方式计算字符串中的字符:


randomString = 'a-sasdqwe3123d234wdd213dsad12da-sd-sa'

for number in range(256):

    print(randomString.encode('utf-8').count(chr(number)))

据我了解,char(55)例如应该给出 a7和char(85)letter U,两者都是函数的有效输入count()。


上面的代码片段返回


TypeError: argument should be integer or bytes-like object, not 'str'


知道会发生什么吗?


江户川乱折腾
浏览 92回答 1
1回答

蝴蝶不菲

编码字符串是一个类似字节的对象,这意味着它只能计算整数,不能计算字符串。摆脱 chr()。randomString = 'a-sasdqwe3123d234wdd213dsad12da-sd-sa'for number in range(256):    print(randomString.encode('utf-8').count(number))或者,不要对其进行编码:randomString = 'a-sasdqwe3123d234wdd213dsad12da-sd-sa'for number in range(256):    print(randomString.count(chr(number)))
随时随地看视频慕课网APP

相关分类

Python
我要回答