我试图将字典传递给函数,以便它是函数的第一个参数,并且进行类型检查以验证字典是否确实已提交。你知道吗
fridge = {"cheese":10, "milk":11, "feta":12, "cream":21, "onion":32, "pepper":14}
def fridge_validation(fridge):
if not isinstance (fridge,dict) :
raise TypeError: ("require a valid dictionary to be submitted!")
我以为下面的方法会奏效。。。。你知道吗
def dummy (fridge):
return fridge
test_of_dummy=dummy ({"cheese", "milk", "eggs"})
print (test_of_dummy)
{'eggs', 'milk', 'cheese'} (this was what was printed)
不太确定我是否做对了?也。。。。我被下面的事情弄糊涂了。你知道吗
def dummy (fridge):
fridge={}
return fridge
test_of_dummy=dummy ({"cheese", "milk", "eggs"})
print (test_of_dummy) "{}" was outputted...
是的。你知道吗
但我以为我已经传递了变量。。。?那么为什么{}看起来优先于虚拟的测试?你知道吗
至于我想做什么。。。。你知道吗
1)将名为fridge的字典作为第一个参数传递给函数。使用isinstance和type error确认字典确实是字典。你知道吗
2)有第二个功能,将从冰箱字典中减去
注:
{"cheese", "milk", "eggs"}
是一个集合。你知道吗在第一个函数中,只需返回参数,因此得到的结果也就不足为奇了。在第二种方法中,在返回之前将
fridge
设置为一个空集,这样就返回了一个空集。你知道吗不过,所有这些似乎都是不必要的,你到底想做什么,你的意思是你只能操作字典一次?你知道吗
为了验证
fridge
变量,您可以遵循以下示例:输出:
然而,
{"cheese", "milk", "eggs"}
是set type
而不是dict type
。你知道吗您可以使用
Python interpreter
进行验证:如您所见,
{"cheese", "milk", "eggs"}
是set
而不是dict
。因此,如果将其传递到fridge_validation()
中,代码将抛出一个异常。你知道吗另外,在您的方法中:
返回值总是等于
{}
,这是一个空的dict type
原因是您的代码总是用一个空的dict覆盖您的冰箱值第二个问题的答案。你知道吗
你怎么能从你的字典中减去值呢?答案很简单:
我想您在用
fridge_validation()
方法验证了dict之后得到了dict。例如:所以:
输出:
此外:
输出:
其他的就这样。总之,为了从dict中减去值,可以使用:
dictionary["key"]
这将输出键的值。你知道吗另外,我建议您阅读本文tutorial,以了解如何处理
python dicts
。你知道吗相关问题 更多 >
编程相关推荐