Python 文本到字典并打印多个值
我有这样一个文本文件:Python 文本到字典并打印多个值,python,dictionary,Python,Dictionary,我有这样一个文本文件: key1: value1 value2 value 3 key2: value1 value2 value 3 key3: value1 value2 value 3 key1 v key1 a key1 l key1 u … 我试图将其作为字典打开,并打印键和值的列表,因此最后看起来是这样的: key1 value1 key1 value2 key1 value3 key2 value1 key2 value2 key2 value3 我正在尝试以下代码: f =
key1: value1 value2 value 3
key2: value1 value2 value 3
key3: value1 value2 value 3
key1 v
key1 a
key1 l
key1 u …
我试图将其作为字典打开,并打印键和值的列表,因此最后看起来是这样的:
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: value1 value2 value 3
key2: value1 value2 value 3
key3: value1 value2 value 3
key1 v
key1 a
key1 l
key1 u …
知道我做错了什么吗???是因为:
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”由空格分隔。单词是该行的元素。如:
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()
f=打开('1.txt','r')
对于f中的行:
k、 v=line.strip().split(“:”)
值=v.split(“”)
答案={}
对于v值:
答案[k]=v
打印答案
f、 关闭()
在v中,您将得到value1 value2 value3,因此将其拆分。
。join(v)
分别迭代每个字符,例如“value1”
。是的,非常感谢,我自己尝试了这么久!你能解释一下在那种情况下“单词”代表什么吗?与我的代码有什么区别(除了明显的区别)?我想了解和学习。谢谢!!!!不要再使用print
,而是使用print()
。