实训目的:
1、掌握聊天机器人的语料库数据集制作方法
2、掌握字典键值对、字典切片的用法
实训过程:
1、以字典方式建立有关“西湖、雷峰塔、城隍阁、苏堤、白堤、断桥、西溪湿地、京杭大运河”旅游风景语料库(结果如贴图)
d={
"西湖":"位于浙江省杭州市西湖区龙井路1号",
"雷峰塔":"又名黄妃塔、西关砖塔,位于浙江省杭州市西湖区",
"城隍阁":"位于杭州新西湖十景吴山天风景区的吴山之巅",
"苏堤":"旧称苏公堤,是一条贯穿西湖南北风景区的林荫大堤",
"白堤":"原名“白沙堤”,经锦带桥向西,止于“平湖秋月”,长约2里",
"断桥":"位于杭州北里湖和外西湖的分水点上,一端跨着北山路,另一端接通白堤",
"西溪湿":"位于浙江省杭州市西湖区和余杭区西北部,",
"京杭大运河":"始建于春秋时期,是世界上里程最长、工程最大的古代运河,也是最古老的运河之一"
}
print(d.keys())
#在python中字典是一种可变容器模型,且可存储任意类型对象。
#字典的每个键值 key=>value 对用冒号 : 分割,每个对之间用逗号(,)分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d = {key1 : value1, key2 : value2, key3 : value3 }
#需要注意的是:
#键必须是唯一的,但值则不必。
#值可以取任何数据类型,但键必须是不可变的,如字符串,数字。
2、解决字典数据串行出错问题:
如果字典数据串行出错,那么在源代码首行修改编码方式为:#coding:utf-8
#coding:utf-8
d={
"西湖":"位于浙江省杭州市西湖区龙井路1号",
"雷峰塔":"又名黄妃塔、西关砖塔,位于浙江省杭州市西湖区",
"城隍阁":"位于杭州新西湖十景吴山天风景区的吴山之巅",
"苏堤":"旧称苏公堤,是一条贯穿西湖南北风景区的林荫大堤",
"白堤":"原名“白沙堤”,经锦带桥向西,止于“平湖秋月”,长约2里",
"断桥":"位于杭州北里湖和外西湖的分水点上,一端跨着北山路,另一端接通白堤",
"西溪湿":"位于浙江省杭州市西湖区和余杭区西北部,",
"京杭大运河":"始建于春秋时期,是世界上里程最长、工程最大的古代运河,也是最古老的运河之一"
}
print(d.keys())
3、输出语料字典的键值对中的全体键、全体值(结果如贴图)
#coding:utf-8
d={
"西湖":"位于浙江省杭州市西湖区龙井路1号",
"雷峰塔":"又名黄妃塔、西关砖塔,位于浙江省杭州市西湖区",
"城隍阁":"位于杭州新西湖十景吴山天风景区的吴山之巅",
"苏堤":"旧称苏公堤,是一条贯穿西湖南北风景区的林荫大堤",
"白堤":"原名“白沙堤”,经锦带桥向西,止于“平湖秋月”,长约2里",
"断桥":"位于杭州北里湖和外西湖的分水点上,一端跨着北山路,另一端接通白堤",
"西溪湿":"位于浙江省杭州市西湖区和余杭区西北部,",
"京杭大运河":"始建于春秋时期,是世界上里程最长、工程最大的古代运河,也是最古老的运河之一"
}
print(d.values())
4、将语料字典的键与值相交换后输出(结果如贴图)
#coding:utf-8
d={
"西湖":"位于浙江省杭州市西湖区龙井路1号",
"雷峰塔":"又名黄妃塔、西关砖塔,位于浙江省杭州市西湖区",
"城隍阁":"位于杭州新西湖十景吴山天风景区的吴山之巅",
"苏堤":"旧称苏公堤,是一条贯穿西湖南北风景区的林荫大堤",
"白堤":"原名“白沙堤”,经锦带桥向西,止于“平湖秋月”,长约2里",
"断桥":"位于杭州北里湖和外西湖的分水点上,一端跨着北山路,另一端接通白堤",
"西溪湿":"位于浙江省杭州市西湖区和余杭区西北部,",
"京杭大运河":"始建于春秋时期,是世界上里程最长、工程最大的古代运河,也是最古老的运河之一"
}
h={value:key for key,value in d.items()}
print(h)
5.遍历输出语料字典的所有键(写出代码)
#coding:utf-8
d={
"西湖":"位于浙江省杭州市西湖区龙井路1号",
"雷峰塔":"又名黄妃塔、西关砖塔,位于浙江省杭州市西湖区",
"城隍阁":"位于杭州新西湖十景吴山天风景区的吴山之巅",
"苏堤":"旧称苏公堤,是一条贯穿西湖南北风景区的林荫大堤",
"白堤":"原名“白沙堤”,经锦带桥向西,止于“平湖秋月”,长约2里",
"断桥":"位于杭州北里湖和外西湖的分水点上,一端跨着北山路,另一端接通白堤",
"西溪湿":"位于浙江省杭州市西湖区和余杭区西北部,",
"京杭大运河":"始建于春秋时期,是世界上里程最长、工程最大的古代运河,也是最古老的运河之一"
}
print(d.keys())
print(d.values())
for key in d:
print(key)