2014-04-05 77 views
-1

下面兩個元件是Python代碼:一些在陣列

def addition(list1,x): 

    left = 0 

    list1 = list1.sort() 
    print list1 
    right = len(list1)- 1 
    while left < right: 
     if list1[left] + list1[right] > x: 
      right =right -1 
     elif list1[left] + list1[right] <x: 
      left =left +1 

     else: 
      return True 
    return False 


data_1 = [3,4,5,2,1,10,2,5,33] 
print "output" 
print addition(data_1,6) 

在上面的代碼有一個錯誤。你可以幫我嗎?

+0

如果您告訴我們什麼樣的錯誤你看到 – shaktimaan

+0

右側將有助於= LEN(列表1) - 1它顯示爲len不的一部分none object –

+0

用'sorted(list1)'替換'list1.sort()'' – skamsie

回答

1

list.sort()排序就地列表並返回None

你應該使用list1.sort(),不list1 = list1.sort()

+0

它工作..謝謝 –

1

.sort各種就地並返回None,這當然因此具有沒有屬性 - 錯誤。

使用,而不是:

# This sorts the list in-place, so don't assign the result to a variable. 
list1.sort() 

# This function returns a new list, so you can assign it to a variable. 
list1 = sorted(list1)