这里我有以下功能列表
def prdata(somelist):
if all(x != None for x in list1.values()):
#check list have values
#but gives me error for list1 AttributeError: 'set' object has no attribute 'values'
for x in somelist:
print(somelist[x])
else:
# print("invalid dict")
我的输入可能会设置或如下所示
list1 = {"a", "b", "c"}
prdata(list1)
list2 = {"a": 1, "b": 2, "c": 3}
prdata(list1)
如何检查内部功能并引发正确的错误
答案 0 :(得分:0)
list1是一个集合而不是字典。要测试集合中的成员资格,只需在list1"中使用" x。
答案 1 :(得分:0)
list1设置为list2是字典
您需要在list1的情况下更改代码,如下所示 -
list1 = {"a", "b", "c"}
all(x != None for x in list1)
返回True
答案 2 :(得分:0)
你的代码
list1 = {"a", "b", "c"}
这不是列表也不是字典。这是set
all(x != None for x in list1.values())
集没有值方法。也许你可以直接迭代set元素。