python基础

DefaultDict和Counter

  • DefaultDict:继承自python字典,主要区别是可以用DefaultDict(int)指定默认值(当为int时,返回0),例如DefaultDict(list)可以直接往键里面append元素
  • Counter:继承自python字典,接受可以迭代的对象(list,dict)作为输入,输出返回一个字典,得到当前元素的出现次数统计。Counter([1,2,3])={1:1,2:1,3:1}
    常见操作:update和substract增加或者减少元素的统计次数(接受list/dict作为参数)

string.encode/decoder(‘utf-8’)

  • 将字符串转为对应utf-8编码(字节的形式)
string = 'hello'
for byte in string.encode('utf-8'):# b'hello'
    print(byte)
104 101 108 108 111

bytes()函数:整数转字节序列

bytes([104, 101, 108, 108, 111])
b'hello'







编码基础

字符转数字

ASCII

用一个字节0~255来表示一个英文字符,不支持中文。

Unicode

标识大多数字符,被标识的字符成为码点

数字转存储(字节)

UTF-8,UTF-16,UTF-32

  • 字节表示方法:b'\x00'
  • 8,16,32指的是位数(bit)。
  • UTF-8指的是使用最少一字节来存储字符(实际是动态存储,例如英文字母‘a’对应一个字节,中文字符“好”对应3个字节)
  • UTF-32指的是使用4字节来存储任意字符,如果字符不需要4个字节,则填充至4个字节。
    在这里插入图片描述

UTF-8编码原理(了解即可)

在这里插入图片描述

实现








BPE算法

预分词技术

  • 简单来说就是隔离每一个词,确保每一个词的语义完整,避免BPE算法统计跨语义的次数。

在这里插入图片描述







更多推荐