python字典中,有个文本, 两列值 1对多关系,请问怎么把key和value都放在字典里呢?
答案:3 悬赏:60 手机版
解决时间 2021-03-25 17:13
- 提问者网友:抽煙菂渘情少年
- 2021-03-25 13:49
python字典中,有个文本, 两列值 1对多关系,请问怎么把key和value都放在字典里呢?
最佳答案
- 五星知识达人网友:从此江山别
- 2021-03-25 15:00
d = {}
for line in text.split():
key, value = line.split(",")
d[key] = value追问我就是这样操作的,请告诉我为什么不能更新
for line in text.split():
key, value = line.split(",")
d[key] = value追问我就是这样操作的,请告诉我为什么不能更新
全部回答
- 1楼网友:动情书生
- 2021-03-25 16:37
>> 请问怎么把key和value都放在字典里呢
这是什么意思?你没有说什么是key什么是value。到底想获得怎样的dict结构?
1对多如果用字典,典型值应该是这样:
{
1860: [101000330],
1861: [101000335, 101000337]
}
用defaultdict很容易实现。追问具体点,怎么操作。。。追答from collections import defaultdict
d = defaultdict(lambda: [])
with open('data.txt', 'rb') as f:
for line in f:
key, value = line[:-1].split(",")
d[key].append(value)
for k,v in d.iteritems():
print k, v
这是什么意思?你没有说什么是key什么是value。到底想获得怎样的dict结构?
1对多如果用字典,典型值应该是这样:
{
1860: [101000330],
1861: [101000335, 101000337]
}
用defaultdict很容易实现。追问具体点,怎么操作。。。追答from collections import defaultdict
d = defaultdict(lambda: [])
with open('data.txt', 'rb') as f:
for line in f:
key, value = line[:-1].split(",")
d[key].append(value)
for k,v in d.iteritems():
print k, v
- 2楼网友:爱难随人意
- 2021-03-25 16:05
file = open('test')
d = {}
for line in file.readlines():
line = line.replace(' ','')
k_v = line.split(',')
if k_v[0] in d.keys():
d[k_v[0]].append(k_v[1])
else:
d[k_v[0]] = [k_v[1]]
print d
d = {}
for line in file.readlines():
line = line.replace(' ','')
k_v = line.split(',')
if k_v[0] in d.keys():
d[k_v[0]].append(k_v[1])
else:
d[k_v[0]] = [k_v[1]]
print d
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯