我有一个这样的文本文件:
key1: value1 value2 value 3
key2: value1 value2 value 3
key3: value1 value2 value 3
我正在尝试将其作为字典打开并打印键和值列表,以便最终看起来像这样:
key1 value1
key1 value2
key1 value3
key2 value1
key2 value2
key2 value3
我正在尝试以下代码:
f = open('groups_4.txt', 'r')
answer = {}
for line in f:
k, v = line.strip().split(':')
answer[k.strip()] = v.strip()
print(k+'\t'+'\n{0}\t'.format(k).join(v))
f.close()
然而它给了我这样的输出:
key1 v
key1 a
key1 l
key1 u …
知道我做错了吗?
答案 0 :(得分:1)
f = open('group_4.txt', 'r')
for line in f:
k, v = line.strip().split(':')
value=v.split(' ')
answer={}
for v in value:
answer[k] = v
print answer
f.close()
在v中你得到value1 value2 value3,所以将它拆分。
答案 1 :(得分:0)
f = open('groups_4.txt', 'r')
answer = {}
for line in f:
k, v = line.strip().split(':')
answer[k.strip()] = v.strip()
for word in v.split():
print k, word
f.close()
该循环用单词迭代“v”行,什么是由空格分割的“value1 value2 value3”。 Word是该行的元素。
答案 2 :(得分:0)
如:
f = open('groups_4.txt', 'r')
for line in f:
key, valuetext = line.split(': ')
for value in valuetext.split():
print('{} {}'.format(key,value))
f.close()
答案 3 :(得分:0)
f =打开(' 1.txt',' r') 对于f中的行: k,v = line.strip()。split(':') value = v.split('') 回答= {} for v in value: 回答[k] = v 打印答案
f.close()