readlines函数
readline和readlines在读取文件中的文本时经常用到,readlines返回的是包含每行文本的一个列表,其中每个文本的结尾是\n
[‘…\n’,…]
lambda函数
lambda(参数:表达式)
load = lambda file:open(file,'r',encoding='utf-8').readlines
load('./data/train.txt')
map函数
根据提供的函数来做指定的映射
map(function,[iterable])
当不提供函数时,map等同于zip
map和匿名函数连用
map(lambda x:x+2,[int,..])
json
json的定义:json是指 java script对象表示法,独立于语言,是轻量级的文本数据交换格式。
常用的方法:
json.load():从json文件中读取数据
json.dump():将数据以json的类型写入文件
json.loads():将str类型的数据转换成dict类型
json.dumps():将dict类型的数据转换成str
# origin_data_row:{'content':'x','entity':{'x1':y1,'x2':y2}}
data_all = open(file_name,'r',encoding='utf-8').readlines()
# data_all:['{'content':'x','entity':{'x1':y1,'x2':y2}}\n',..]
data = map(json.loads,data_all)
# map:['{'content':'x','entity':{'x1':y1,'x2':y2}}\n',..] type=dict
output = []
# expected out shape:[{'content':'text','x1':y1,'x2':y2},..]
for item in tqdm(data):
# item:{'content':'x','entity':{'x1':y1,'x2':y2}}\n}
output_item = {}
text = item['content']
# except prompt:'{x1[mask]}{x2[mask]}'
prompt = ''.join(['{x_i}{mask}' for x_i in item['entity']])
input = tokenizer.__call__(text)
out_item['input'] = input