2014-12-04 86 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'> 
>>> 
相關問題