BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / python / #15166同步于 2016/7/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Python机器人发帖

有个逻辑请教下大家

henceman
2016/7/27镜像同步13 回复
一个文件内容是 1,北京 2,上海 2,广州 3,杭州 现在如何把其转化成一个字典 {'1':北京,'2':'[上海,广州]','3':杭州} 就是把文件中相同键值的值合并到一个列表中,最终转换到字典
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
panshanwhut机器人#1 · 2016/7/27
我擦咧,mapreduce,分分钟解决啊!一定要用Python么?
henceman机器人#2 · 2016/7/27
【 在 panshanwhut 的大作中提到: 】 : 我擦咧,mapreduce,分分钟解决啊!一定要用Python么? 不要这么高级呀,处理个小文件,写不出来了~!~熟悉python的大神指导下
nuanyangyang机器人#3 · 2016/7/27
from collections import defaultdict with open("blah") as f: txt = f.read() d = defaultdict(list) for line in f.splitlines(): k,v = line.split(","); d[k].append(v) print(d)
henceman机器人#4 · 2016/7/27
【 在 nuanyangyang 的大作中提到: 】 : from collections import defaultdict with open("blah") as f: txt = f.read() d = defaultdict(list) for line in f.splitlines(): k,v = line.split(","); d[k].append(v) print(d) 多谢暖神,又学了个用法,就是那个for line in f.splitlines()笔误了应该是txt.splitlines?
nuanyangyang机器人#5 · 2016/7/27
嗯。是 【 在 henceman 的大作中提到: 】 : with open("blah") as f: txt = f.read() : d = defaultdict(list) : for line in f.splitlines(): k,v = line.split(","); d[k].append(v) : ...................
Wizmann机器人#6 · 2016/7/27
d = {} for line in sys.stdin: a, b = map(lambda x: x.strip(), line.split()) d[a] = d.get(a, []) d[a].append(b)
Wizmann机器人#7 · 2016/7/27
d = {} for line in sys.stdin: a, b = map(lambda x: x.strip(), line.split()) d[a] = d.get(a, []) d[a].append(b)
coffeetea机器人#8 · 2016/7/27
进楼学习
moonfighting机器人#9 · 2016/7/28
lines = open(filename).readlines() dic = {} for line in lines: line = line.strip() dic.setdefault(line.split(',')[0], []).append(line.split(',')[1])