2017-10-06 18 views
-5

辞書の一覧から辞書を削除するにはどうすればよいですか?角括弧を、括弧で、このような状況data辞書のリストから辞書を削除するにはどうすればよいですか?

if data == []: 
     print("No questions saved") 
    else: 
     while True: 
      myDeletenumber = input("Which question do you want to delete?") 
      try: 
       myDeletenumber = int(myDeletenumber) 
       myDeletenumber -= 1 
       data.pop(myDeletenumber) 
       break 
      except ValueError: 
       print('Not a number!') 
       continue 

は辞書

+1

エラーが発生しますか? – Steampunkery

+0

あなたの問題は何ですか?私はそれを実行しませんでしたが、このコードは正常に見えます。 – Neo

+1

'data.pop'行に構文エラーがあります。 – Cfreak

答えて

0

それはdata.pop(myDeletenumber)だのリストではありません。私が試してみました。あなたのデータ構造が大きい場合

1

それは別の方法としてdel data[myDeleteNumber]

1

を使用するのが良いかもしれない行うための簡単な方法は、あなたはどれを割り当てるいないのではなく途中から飛び出る考えるかもしれません。

削除要素の後に配置された要素の全体のコピーを防止し、ユーザがデータを操作する必要があることが重要な知識であると思われる要素が存在する位置のインデックスを(変更回避
myDeletenumber = input("Which question do you want to delete?") 

try: 
    myDeletenumber = int(myDeletenumber) 
    myDeletenumber -= 1 
    data[myDeletenumber] = None 
    break  # <-- we'll assume that this snippet is inside a loop here... 
except ValueError: 
    print('Not a number!') 
    continue 

今回の場合)

0

そうする方法はありません、あなたはこれを試すことができます良いアプローチ

myDeletenumber = input("Which question do you want to delete?") 
try: 
    del data[int(myDeletenumber)-1] 
except KeyError: 
    print ('No number exist') 

のために行く:

try: 
    data.pop(int(myDeletenumber)-1) 
except KeyError: 
    print ('No number exist') 
関連する問題