2016-07-09 4 views
1
def dictrev(): 
    prompt = "Enter the key and value of a dictionary like this: 'key:value':" 
    list = [];list_rev = [];i = 0 
    while True: 
     element = raw_input(prompt).strip().split(':') 
     if element == ['.']: 
      break 
     list.append([]);list_rev.append([]) 
     print element 
     print list(reversed(element)) 
     list[i] = element 
     list_rev[i] = list(reversed(element)) 
     i += 1 
    print 'The dictionary you input is:' 
    print dict((list)) 
    print '\nThe dictionary whose key and value are reversed is:' 
    print dict((list_rev)) 

dictrev() 

呼び出すことはできません。私はプログラムを実行するとエラー逆転():リストは、これは</em> 7-7プログラミング<em>コアPythonでの質問のコードである

はしかし、私はTypeError例外だ。「リスト」オブジェクトを私がやっていることのコード

print list(reversed(element))

呼び出すことはできません以下のとおりです。

  1. StackoverflowとGoogleの 'list is callable not'トピックを検索してください。メソッドは取得されません。

  2. はリスト()と逆の()のメソッドをグールが、私は私のelement_reversedコード

  3. 印刷変数要素、および要素の種類に何か問題があるとは思いません。

  4. は、このような別のプログラムでのみコードを取る:

l = ['a','b']

print l

print list(reversed(l))

のような間違って何もない 'リストオブジェクトを呼び出すことはできませんが。'私は困惑している!

私はこの問題を解決するためにできることをしました。誰もが助けてくれてありがとう。この行で

+0

に建設をオーバーライド。 – Evert

+0

'list'を上書きしました。エラーの直前の行に表示されます。何が起こると思いましたか?また、あなたのコードは標準のPythonとはかけ離れています。私はいくつかのチュートリアルを見ることをお勧めします。 – TigerhawkT3

答えて

7

ルック:

list = [] 

あなたは、組み込み関数に変数を割り当てないタイプlist

+1

私はあまりにもアップホーツ/ downvotesと私を混乱させる...私は293933回だけ答えられたものに答えるために地獄にdownvotedされることを期待していたと私はあまりにも怠惰だったので、笑。 – Pythonista

+1

ええ、あなたのための別のupvoteは完璧な答えです。 – RoadRunner

+1

ええ、私は非常にupvoted答えのほとんどについて恥ずかしいです。それは私にとっても謎です。 – TigerhawkT3

関連する問題