2014-03-18 38 views
3

由於某種原因,我不能得到的命令CMP(),我(Python)的心不是沃金

cmp() 

要上班,這裏是代碼:

a = [1,2,3] 
b = [1,2,3] 
c = cmp(a,b) 
print (c) 

我收到錯誤:

Traceback (most recent call last): 
    File "G:\Dropbox\Code\a = [1,2,3]", line 3, in <module> 
    c = cmp(a,b) 
NameError: name 'cmp' is not defined 
[Finished in 0.1s] 

在此先感謝! (我用崇高的文本2,如果它的事項)

+0

它以什麼方式不起作用? – DSM

+0

你的輸出是什麼? – Bathsheba

+3

你在使用Python 2.x還是3.x? 2.x有'cmp()',但是3.x沒有。由於'print'後面的括號,我懷疑是3.x。 –

回答

12

正如評論所說,cmp沒有出現在Python 3存在。如果你真的想要的話,你可以自己定義:

def cmp(a, b): 
    return (a > b) - (a < b) 

取自原始What's New In Python 3.0。儘管這是非常罕見的 - 儘管並非前所未有的 - 儘管這確實是需要的,所以你可能想要考慮它是否是最好的方式去做任何你想做的事情。