Python(3.2.2)シェルでWindows 7 OSに取り組んでいます。入力した言語を学習しようとすると、次のように返されます。
>>> cast = {
'cleese',
'Palin',
'Jones',
'Idle'
}
>>> print (cast[1])
Traceback (most recent call last):
File "<pyshell#12>", line 1, in <module>
print (cast[1])
TypeError: 'set' object does not support indexing
>>> cast.append('Gilliam')
Traceback (most recent call last):
File "<pyshell#13>", line 1, in <module>
cast.append('Gilliam')
AttributeError: 'set' object has no attribute 'append'
==========================
問題はコーディングではなく、プログラムのインストール方法にあるようです。
インストール、アンインストール、再インストールしましたが、結果は同じです。 Pythonのシェルを使用する準備が整う前にやらなければならないことがありますか?
ハンス
Pythonは正常に動作しているようです。重要なのは、set
はインデックス作成や追加をサポートしていないということです。代わりにリストを使用してみてください([]
の代わりに {}
)。追加の代わりに、set
にはadd
がありますが、インデックス付けは行われていません。
そしてPythonには便利なヘルプがあります、
>>> help(set)
set
sに関する多くの情報を出力します。
リストを定義しようとしていたようです。ただし、角かっこ[]の代わりに中かっこ{}を使用しました。インタプリタはそれをリストではなく辞書として扱ったため、ここではindexingとappend()は機能しませんでした。
ここで言及するだけで、set's'
はハッシュベースであるため、インデックス作成をサポートしていません。これは、インデックス作成もサポートしていないdictionaries
と非常によく似ています。 dict
にアクセスできるのはkey
だけです。
インデックス作成が必要な場合は、次のようにセットを変換できます。
convertedToList = list(set(1,2,3))