2014-12-04 85 views
-3

我'凑了过去的断言语句错误,但我不无为什么请帮我将字符串转换为set时出现编译时错误?

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 
+2

您在这里没有收到'编译时错误'。充其量,你会得到一个断言例外。 – 2014-12-04 14:08:32

回答

3

{}创建一个空字典,不是一个空集。你的断言总会失败。

使用set()创建一个空的集合对象,你也许应该测试set2空:

assert set() != set2 

set displays reference documentation

一组显示器用花表示通过缺少分隔键和值的冒号区分大括号并区分字典显示

[...]

无法用{}构造一个空集;这个文字构造了一个空字典。

+0

有没有任何条件的地方____ == set2 – 2014-12-04 14:12:48

+0

@TirupatiRao:你期望在这里断言什么?你没有提到你的问题;代码*应该做什么*。 – 2014-12-04 14:14:20

1

您声明字典并在最后一行设置错误。

>>> type({}) 
<type 'dict'> 
>>> type(set()) 
<type 'set'> 
>>> 
相关问题