我有一个函数有几个默认参数,如此(arg和默认args都是列表):
def my_function(arg1, default1=None, default2=None, default3=None):
if not default1:
dosomething1 = dictionary[arg1]
if not default2:
dosomething2 = variable.copy()
if not default3:
dosomething3 = variable2.copy()
proj = another_function(arg1, dosomething1, dosomething2, dosomething3)
return proj
我想添加另一个看起来像这样的if语句:
if not (default1 or default2 or default3):
dosomething1 = dictionary[arg1]
dosomething2 = variable.copy()
dosomething3 = variable2.copy()
但不断收到指向TypeError: unhashable type: 'list'
语句下的行的错误if not default1:
。我的问题是,如果仅指定my_function()
,我该如何使用arg1
?
答案 0 :(得分:0)
问题是你正在尝试使用list作为键来查找dict,这是不允许的,因为列表不可用
在您的评论中,您希望将arg1
列表作为值添加到dictionary
。然后你应该做像
dictionary['some-key'] = arg1