我在最后一个声明中得到错误,但我不知道为什么请帮助我
def test_set_creation():
"""
sets can be created from any sequence like list or a tuple.
"""
test_list = [1, 2, 1, 3]
set1 = set(test_list)
assert {1,2,3} == set1
test_string = "apple"
set2 = set(test_string)
assert {} == set2
答案 0 :(得分:3)
{}
创建一个空的字典,而不是空集。你的断言总会失败。
使用set()
创建一个空集对象,您可能应该测试set2
不为空:
assert set() != set2
来自set displays reference documentation:
集合显示用花括号表示,并且由于缺少分隔键和值的冒号而与字典显示区分开来
[...]
无法使用{}构建空集;这个文字构造了一个空字典。
答案 1 :(得分:1)
您正在断言字典并设置最后一行中的错误。
>>> type({})
<type 'dict'>
>>> type(set())
<type 'set'>
>>>