2017-10-14 5 views
0

以下のコードでエラーが発生します。それを解決するには?pythonのlist()のエラー

コード:

a= list(set([1,2,3,4])) 
print(a) 

エラー:どこかのコードで

TypeError Traceback (most recent call last) 
<ipython-input-118-e8b21f19c16c> in <module>() 
----> 1 a= list(set([1,2,3,4])) 
     2 print(a) 

TypeError: 'list' object is not callable 
+1

あなたは 'list'変数を前のコードのどこにでも定義しましたか?その行が動作し、私にとってはうまくいくはずだからです。 、 '印刷= [1、2:(スタックトレース中2は'プリント(a)は 'であるので)' print'がどこかにあなたのコードでは、その後、 'TypeError'を上げた場合 – Chinny84

+1

うーん...あなたはこのような何かをしました3] ''リストに 'print'を再定義する – abccd

+0

ようこそ。時間をかけて[ask]とそれに含まれるリンクを読んでください。あなたの質問にTracebackを含めてくれてありがとう。 – wwii

答えて

2

名前 "リスト" で変数を定義しています。これはビルトインリストを非表示にします。このエラーは、別のクラスのインスタンスをリスト変数に割り当てたことを示します。または、以下のようにインデックスを作成する代わりに、呼び出し可能なリストとしてリストを使用している可能性があります。

指定したコードスニペットが正しくないと思います。私は以下のように呼び出し可能としてリストオブジェクトを使用しようとしたとき、私はおそらく、自分のローカルスコープに型リストの変数「リスト」を持っている、

a= list(set([1,2,3,4])) 
print(a(1)) # wrong! Use [] 
+0

すべてのオブジェクトに問題があります。私はPythonが大好きですが、組み込み関数をオーバーライドできる言語はありません! – Chinny84

+1

@ Chinny84:上記の名前を上書きする理由があります。彼らは数少ないが、そこにいる。そこオーバーライド関数の違いは、OOPパターンのようですが、気まぐれで、 'list'を定義する機能が狂っているIgnacioVazquez-エイブラムス@ –

+0

「偉大な力を持つには大きな責任が来ます」主にオペレータベースです。しかし私に例を挙げて、私はScalaの家に仕事でそれを示すことができます。 –

2

を正確に同じエラーを得ました。たとえば、

list = [] 
a = list(set([1,2,3,4])) 
print(a) 

がエラーになります。
いつも再現性について覚えています。 &をコピーしてコードを貼り付けるだけでエラーは発生しません。