在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 with open('X:/XXX/XXX/XXX/data.txt',encoding = "utf-8-sig") as file: 2 #上一行的参数!只使用'r'会出现报错:'gbk' codec can't decode byte 0xb7 in position 8: illegal multibyte sequence,输入encoding='utf-8'可解决 3 #只使用"utf-8"输出时会出现文件第一行多出十六进制编码,用'-sig'解决。 4 data_line = file.readline() 5 data_line = data_line.replace('\t',',') 6 data_line = data_line.strip('\n') 7 keys = data_line.split(',') 8 9 10 values_wet = set() #set()是创建空集合的唯一方法 11 values_dry = set() 12 values_harm = set() 13 values_re = set() 14 15 16 while True: 17 data_line = file.readline() 18 if data_line != '': #解决最后一行问题,注意要加else: break,不然死循环 19 data_line = data_line.strip('\n') 20 data_line = data_line.replace('\t',',') 21 values = data_line.split(',') 22 values_wet.add(values[1]) #添加值到集合,".add()"方法 23 values_dry.add(values[2]) 24 values_harm.add(values[3]) 25 values_re.add(values[4]) 26 else: 27 break 28 29 30 dic = {keys[1]:values_wet, keys[2]:values_dry, keys[3]:values_harm, keys[4]:values_re} 31 32 33 #定义函数判断values属于哪个key 34 def get_key(value,dict=dic): 35 return [k for k,v in dict.items() if value in v] #列表解析式 36 37 38 #输出 39 value1 = input('Enter the thing:') 40 print(get_key(value1))
序号 湿垃圾 干垃圾 有害垃圾 可回收物 1 菜叶 旧浴缸 油漆桶 塑料瓶 2 橙皮 盆子 镍镉电池 食品罐头 3 葱 坏马桶 打火机 玻璃瓶 4 饼干 旧水槽 创口贴 易拉罐 5 番茄酱 贝壳 酒精 报纸 6 蛋壳 化妆刷 调色板 旧书包 7 西瓜皮 坛子 油漆 旧手提包 8 马铃薯 海绵 过期的胶囊药物 旧鞋子 9 鱼骨 花生壳 温度计 牛奶盒 10 甘蔗 菜板 过期药片 旧塑料篮子 11 玉米 砖块 荧光灯 旧玩偶 12 骨头(鸡鸭鹅) 卫生纸 蓄电池 玻璃壶 13 虾壳 篮球 医用棉签 旧铁锅 14 蛋糕 桃核 煤气罐 垃圾捅 15 面包 杯子 医用手套 旧镜子 16 草莓 陶瓷碗 杀虫剂 牙刷 17 西红柿 一次性筷子 水彩笔 塑料梳子 18 梨 瓦片 农药瓶 旧帽子 19 蟹壳 西梅核 医用纱布 旧夹子 20 香蕉皮 坏的花盆 口服液瓶 废锁头 21 辣椒 扫把 香水瓶 牙膏皮 22 巧克力 木质梳子 荧光棒 雨伞骨架 23 茄子 脏污衣服 过期化妆品 旧纸袋 24 豌豆皮 烟蒂 发胶 纸盒 25 苹果 渣土 注射器 旧玩具 26 树叶 湿垃圾袋 废弃灯泡 NULL
|
请发表评论