gpt4 book ai didi

python - Python 中有不可变字典类型吗?

转载 作者:行者123 更新时间:2023-12-05 01:35:48 24 4
gpt4 key购买 nike

我想定义一个函数,它有像参数一样的字典,例如:

def my_func(params={'skip': True}):
print(params['skip'])
params['skip'] = False

但是,如果使用可变字典 dict() - 它只会为一个函数创建一次。对该词典所做的修改会在下一次调用时出现。

my_func()  # prints True
my_func() # prints False

目前我唯一的想法是使用键/值对的元组,可以将其转换为字典,而不是提供类似数据的字典。

def my_func(params=(('skip', True))):
params = dict(params)
print(params['skip'])
params['skip'] = False

但是,我真的很想避免这种向字典的显式转换。我的问题是:dict() 是否有一个不可变字典替代方案,因为 list()tuple()

最佳答案

这将避免每次调用 func 使用默认的 params 共享相同的 dict(这似乎是你的问题):

def my_func(params=None):
params = {'skip': True} if params==None else params

关于python - Python 中有不可变字典类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62646819/

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