[解決済み】TypeError: 'type'オブジェクトは、辞書にインデックスを付けるときに添え字になりません。
2022-01-17 15:47:24
質問
複数のファイルを読み込む必要があるため、複数のファイルに対して
dict
を使用して短縮しています。実行すると
TypeError: 'type' object is not subscriptable
エラーが発生しました。どうすれば動作するようになりますか?
m1 = pygame.image.load(dict[1])
m2 = pygame.image.load(dict[2])
m3 = pygame.image.load(dict[3])
dict = {1: "walk1.png", 2: "walk2.png", 3: "walk3.png"}
playerxy = (375,130)
window.blit(m1, (playerxy))
解決方法は?
通常、Pythonは次のように投げます。
NameError
が定義されていない場合、その変数が使用されます。
>>> d[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'd' is not defined
しかし、あなたはPythonにすでに存在する名前につまずいたのです。
なぜなら
dict
は、Pythonの組み込み型の名前です。
というエラーメッセージが表示されますが、実際はそうではありません。
の型は
dict
は
type
. Pythonではすべての型がオブジェクトです。したがって、あなたは実際に
type
オブジェクトを作成します。これが、エラーメッセージに "'type' object is not subscriptable." と表示されている理由です。
>>> type(dict)
<type 'type'>
>>> dict[0]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'type' object is not subscriptable
に盲目的に割り当てることができることに注意してください。
dict
という名前を付けますが、あなたは
それは避けたい。
後で問題になるだけです。
>>> dict = {1:'a'}
>>> type(dict)
<class 'dict'>
>>> dict[1]
'a'
問題の真の原因は、変数を使おうとする前に、変数を代入しなければならないことです。質問文の順番を変えるだけで、ほぼ間違いなく動作します。
d = {1: "walk1.png", 2: "walk2.png", 3: "walk3.png"}
m1 = pygame.image.load(d[1])
m2 = pygame.image.load(d[2])
m3 = pygame.image.load(d[3])
playerxy = (375,130)
window.blit(m1, (playerxy))
関連
-
[解決済み】Pythonのvirtualenvを離脱/終了/無効化する方法
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Python 3で「1000000000000000 in range(1000000000000001)」はなぜ速いのですか?
-
[解決済み] モジュールの関数名(文字列)を使って、モジュールの関数を呼び出す。
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] インスタンスのクラス名を取得する?
-
[解決済み] 最近のPythonでカスタム例外を宣言する適切な方法?
-
[解決済み】「datetime.datetime not JSON serializable」を克服する方法とは?
-
[解決済み】2つの辞書を1つの式でマージする(辞書の和をとる)には?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
PythonはWordの読み書きの変更操作を実装している
-
pythonサイクルタスクスケジューリングツール スケジュール詳解
-
Pythonコードの可読性を向上させるツール「pycodestyle」の使い方を詳しく解説します
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み] データ型が理解できない
-
[解決済み】「SyntaxError.Syntax」は何ですか?Missing parentheses in call to 'print'」はPythonでどういう意味ですか?
-
[解決済み】"No JSON object could be decoded "よりも良いエラーメッセージを表示する。
-
[解決済み] 'int'オブジェクトに'__getitem__'属性がない。
-
[解決済み] TypeError: 'DataFrame' オブジェクトは呼び出し可能ではない
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)