gpt4 book ai didi

python - 将元组和 int 键字典写入文件

转载 作者:太空宇宙 更新时间:2023-11-03 15:52:42 24 4
gpt4 key购买 nike

我正在尝试将字典写入(并从中读取)一个文件,其中键是元组和 int 的组合,如下所示:

Q = {((True, False, 1, 0), 1): 100}

我尝试过 pickle、json 和 csv,但似乎无法解决复杂的关键问题,而且我似乎找不到太多关于此类字典的文档。

#json code which works for a tuple only as the key 

def write_file(mat):
with open('file.json', 'w') as f:
json.dump(mat, f)

def read_file():
with open('file.json', 'r') as f:
try:
data = json.load(f)
except ValueError:
data = {}
return data

最佳答案

这可能会解决您的问题。我基本上将您拥有的元组转换为字符串,创建一个新字典。我将其存储到 json 文件中,然后使用 eval 内置函数取回元组。虽然此方法有效,但如果您不知道数据来自何处,请小心使用 eval 函数。

Q = {((True, False, 1, 0), 1): 100}
Q_new = dict([(str(i),j) for i,j in Q.items()])

def write_file(mat):
with open('file.json', 'w') as f:
json.dump(mat, f)

def read_file():
with open('file.json', 'r') as f:
data = json.load(f)
return dict([(eval(str(i)),j) for i,j in data.items()])

write_file(Q_new)
print(read_file())

输出:

{((True, False, 1, 0), 1): 100}

关于python - 将元组和 int 键字典写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41124693/

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