【发布时间】:2016-12-03 18:39:09
【问题描述】:
我有一个文件:
Fruits:
I love apples
I also love bananas
who even likes pears?
<<<END
Bananas are yellow
apples are not yellow..
<<<END
Vegetables:
Anything green is gross
I don’t like vegetables
<<<END
Peas are disgusting
Who even likes peas
Is potato a vegetable?
<<<END
我想取以“:”结尾的行,例如“Fruits”和“Vegetables”,并将它们作为字典的键。并将键下的每一行都设为元组列表。
到目前为止我有:
def read_file(file):
dic = {}
lst = []
with open(file,'r') as file:
for line in file:
if line.strip("\n") == "<<<END":
continue
elif line.endswith(":\n"):
a = line.strip(":\n")
dic[a] = []
else:
key = line.strip(":\n")
dic[a].append(key)
return dic
我希望程序返回:
{'Fruits': [("I love apples", "I also love bananas", "who even like pears"),("Bananas are yellow", "apples are not yellow..")], 'Vegetables':[("Anything green is gross", "I don't like vegetables"),("Peas are disgusting", "Who even likes peas", "Is potato a vegetable?")]}
返回:
{'Fruits': ["I love apples", "I also love bananas", "who even like pears","Bananas are yellow", "apples are not yellow.."], Vegetables: ["Anything green is gross", "I don't like vegetables","Peas are disgusting", "Who even likes peas", "Is potato a vegetable?"]}
【问题讨论】:
-
可能是因为您使用的是
"<<<EOT",而不是文件中指定的"<<<END"。 -
它返回 {'fruits': [“我爱苹果”、“我也爱香蕉”、“甚至喜欢梨”、“香蕉是黄色的”、“苹果不是黄色的..” ],蔬菜:[“任何绿色的东西都很恶心”、“我不喜欢蔬菜”、“豌豆很恶心”、“谁甚至喜欢豌豆”、“土豆是蔬菜吗?”]}
-
对不起,当我尝试发布它时它正在切断输出,所以我将它添加为上面的评论^
标签: python list dictionary tuples