2017-11-04 14 views
-3
nums= [1,2,2,3] 

def removnt(nums): 
    for n in nums: 
     i = nums.index(n) 
     if nums[i]==nums[i+1]: 
      nums = nums.remove(n) 

removnt(nums) 

すべての場所で適切なインデントを仮定します。

私が手にエラーがなしタイプには属性インデックスがありません

Traceback (most recent call last): 
    File "source_file.py", line 20, in <module> 
    removnt(nums) 
    File "source_file.py", line 9, in removnt 
    i = nums.index(n) 
AttributeError: 'NoneType' object has no attribute 'index' 

私は、この属性のエラーをどのように修正することができますか?ここで

+4

'nums.remove(n)は'その場で修正し、それは何も返しません。 – abccd

+2

リストから項目を削除すると、その項目を反復処理しても、それが動作するようには機能しません。 – ForceBru

答えて

0

は、あなたが望む何をすべきバージョンです:

nums= [1,2,2,3] 

def removnt(nums): 
    i = 0 
    while i < len(nums) - 1: 
     if nums[i] == nums[i+1]: 
      del nums[i] 
     else: 
      i += 1 

removnt(nums) 
+0

ありがとうございます。エラーの原因を説明することができますか、またはこのエラーをスローする理由は何ですか? – Abhi7731756

関連する問題