gpt4 book ai didi

python - 如何正确使用 fout 函数写入输出?

转载 作者:行者123 更新时间:2023-12-01 08:09:07 24 4
gpt4 key购买 nike

我正在尝试使用 python 文件系统读取和写入文件,但遇到了一些问题。我相信读取/打开功能是正确的,但写入功能给我带来了困难。

我在一个反转字典的函数中执行此操作,我希望它从文本文件中读取字典,而不是在代码中执行此操作,这就是我的调用方式(不漂亮但有效):

d = fin = open('dict.txt')

但是,当涉及到将倒排字典写入文件时,我失败了。打印反转字典的函数调用是 invert_dict(d) 所以我想我应该尝试这样写:

invert_dict(d) = fout = open('output.txt', 'w')

这显然是错误的,但这就是我从书上读到的。这是我的原始逆字典函数:

def invert_dict(d):
print(' the dictionary is \n' , d)
inverse = dict()
for key in d:
val = d[key]
for i in val:
if i not in inverse:
inverse[i] = [key]
else:
inverse[i].append(key)
return inverse
d={'vowels':['a','e','i','o','u'], 'letters':['a','b','c','d']}
print(invert_dict(d))

我应该如何改进我的代码?提前致谢。

最佳答案

你的代码非常好,只是使用items来循环更好,而且setdefault更容易:

def invert_dict(d):
print(' the dictionary is \n' , d)
inverse = {}
for k,v in d.items():
for i in v:
inverse.setdefault(i,[]).append(k)
return inverse

编辑:

之前误解了,所以你应该使用:

import json
d = fin = json.loads(open('dict.txt'))
with open('output.txt', 'w') as fout:
fout.write(invert_dict(d))

关于python - 如何正确使用 fout 函数写入输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55372743/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com