Python で Object Is Not Subscriptable エラーを修正する
Python では、object is not subscriptable
というエラーは自明のことです。Python でこのエラーに遭遇し、解決策を探している場合は、読み続けてください。
Python の object is not subscriptable
エラーの修正
まず、このエラーの意味を理解する必要があり、subscriptable
が何を意味するのかを知る必要があります。
下付き文字は、要素を識別するためのプログラミング言語の記号または数字です。ですから、object is not subscriptable
ということは、そのデータ構造がこの機能を持っていないことが明らかです。
たとえば、次のコードを見てください。
# An integer
Number = 123
Number[1] # trying to get its element on its first subscript
上記のコードを実行すると、整数に複数の値がないため、エラーが発生します。したがって、整数で下付き文字を使用する必要はありません。さらにいくつかの例を見てみましょう。
# Set always has unique Elements
Set = {1, 2, 3}
# getting second index of set #wrong
Set[2]
セットをいくつかの値で初期化しました。リストや配列と間違えないでください。セットには添え字がありません。つまり、上記のコードでも同じエラーが発生します。
セットから単一の値を表示することはできません。ループを使用して設定値を出力すると、順序に従わないことがわかります。
その値を識別するインデックスはありません。次のコードの出力は、異なる順序の出力を提供します。
# Set always has unique Elements
Set = {1, 2, 4, 5, 38, 9, 88, 6, 10, 13, 12, 15, 11}
# getting second index of set
for i in Set:
print(i)
文字列またはリストに関しては、添え字を使用して各要素を識別できます。これは、単純な配列から値を出力して取得するようなものです。見てください。
# string variable
string = "Hello I am Python"
print(string[4])
出力:
o
上記のコードは正常に実行され、文字列の 5 番目のインデックス/添え字(0-4)に存在するため、出力は o
になります。このオブジェクトは添字可能です。
# function which returns a list
def my_Func():
return list(range(0, 10))
# correct
print(my_Func()[3])
出力:
3
上記のコードには、サブスクリプト可能なリストを返す関数があります。ご覧のとおり、リストの 3 番目の要素を表示し、添え字とインデックスのメソッドを使用しています。
Haider specializes in technical writing. He has a solid background in computer science that allows him to create engaging, original, and compelling technical tutorials. In his free time, he enjoys adding new skills to his repertoire and watching Netflix.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません